Kleinbuchstaben in Großbuchstaben umwandeln
Moderator: Moderatoren
Kleinbuchstaben in Großbuchstaben umwandeln
Moin, moin,
ich suche einen Weg, per Shortcut ein versehentlich groß geschriebenes Wort in ein kleingeschriebenes umzuwandeln bzw. umgekehrt. Gibt es da eine fertige Lösung oder muss man ein Makro austüfteln?
ich suche einen Weg, per Shortcut ein versehentlich groß geschriebenes Wort in ein kleingeschriebenes umzuwandeln bzw. umgekehrt. Gibt es da eine fertige Lösung oder muss man ein Makro austüfteln?
Xubuntu 12.04 / AOO 4.0 / MySQL 5.2.40
herzliche Grüße aus Deutschlands Norden
herzliche Grüße aus Deutschlands Norden
Re: Kleinbuchstaben in Großbuchstaben umwandeln
Der macht ja gleich alles in Großbuchstaben...
Xubuntu 12.04 / AOO 4.0 / MySQL 5.2.40
herzliche Grüße aus Deutschlands Norden
herzliche Grüße aus Deutschlands Norden
Re: Kleinbuchstaben in Großbuchstaben umwandeln
Nee, das ist auch nicht, was ich suche...
In Word gibt es den Befehl "GroßKleinschreibungändern". Der bewirkt, dass ein markiertes Wort nacheinander in Großbuchstaben, Kleinbuchstaben und mit führendem Großbuchstaben geschrieben wird. Ich erinnere mich dunkel, dass ich zu meinen StarWriter-Zeiten eine ähnliche Funktion hatte. Ich weiß aber nicht mehr, ob das ein Makro war oder ob es sich um eine eingebaute Funktion gehandelt hat. Ist jedenfalls praktisch.
In Word gibt es den Befehl "GroßKleinschreibungändern". Der bewirkt, dass ein markiertes Wort nacheinander in Großbuchstaben, Kleinbuchstaben und mit führendem Großbuchstaben geschrieben wird. Ich erinnere mich dunkel, dass ich zu meinen StarWriter-Zeiten eine ähnliche Funktion hatte. Ich weiß aber nicht mehr, ob das ein Makro war oder ob es sich um eine eingebaute Funktion gehandelt hat. Ist jedenfalls praktisch.
Xubuntu 12.04 / AOO 4.0 / MySQL 5.2.40
herzliche Grüße aus Deutschlands Norden
herzliche Grüße aus Deutschlands Norden
Re: Kleinbuchstaben in Großbuchstaben umwandeln
Hallo!
Ich habe mal in diesem Forum ein Makro gefunden, dass die Lösung von Word imitiert. Das kann dann an einen Tastaturbefehl gebunden werden. Ich habe dafür Analog zu Word die Taste "F3" genommen.
Gruß
Charly
Ich habe mal in diesem Forum ein Makro gefunden, dass die Lösung von Word imitiert. Das kann dann an einen Tastaturbefehl gebunden werden. Ich habe dafür Analog zu Word die Taste "F3" genommen.
Code: Alles auswählen
Sub GroKlei
Dim sText As String
sText=""
'aktuelles Dokument
xDoc=ThisComponent
xController=xDoc.CurrentController
'Cursor im Doc
xVCrsr=xController.getViewCursor
CurPos=xVCrsr.getPosition()
'gesamtes Dokument
oText=xDoc.Text
xSelection = xDoc.CurrentController.getSelection
'Range des aktuellen Selection
xRange=xSelection(0)
xCursor=xRange.getText.createTExtCursorByRange(xRange)
'Wort markieren
sText=xCursor.GetString()
If Len(sText) <= 0 Then
xCursor.gotoStartOfWord(False)
xCursor.GotoEndOfWord(True)
'String aus Wort ermitteln
sText=xCursor.GetString()
End If
'klein > groß
If sText=LCase(sText) Then
sText=UCase(Left$(sText,1)) + Right$(sText, Len(sText)-1)
'Einfügen
oText.InsertString(xCursor,sText,True)
Exit Sub
End If
'groß > klein
If sText=UCase(sText) Then
oText.InsertString(xCursor,strConvert(stext,0),True)
Exit Sub
End If
'gemischt
If Left$(sText,1) = UCase(Left$(sText,1)) Then
oText.InsertString(xCursor,strConvert(stext,1),True)
Exit Sub
End If
oText.InsertString(xCursor,strConvert(stext,1),True)
End Sub
Function strConvert (cText As String, Flag As Integer) As String
iRun = 1
while iRun < Len(cText)+1
If Flag=1 Then
Mid( cText ,iRun, 1, UCase(Mid(cText,iRun,1))
Else
Mid( cText ,iRun, 1, LCase(Mid(cText,iRun,1))
End If
iRun = iRun + 1
Wend
strConvert=cText
End Function
Charly
Re: Kleinbuchstaben in Großbuchstaben umwandeln
dANKE schön!
Xubuntu 12.04 / AOO 4.0 / MySQL 5.2.40
herzliche Grüße aus Deutschlands Norden
herzliche Grüße aus Deutschlands Norden
Re: Kleinbuchstaben in Großbuchstaben umwandeln
Mist, ich habe gerade auf 3.2.1 upgedated - und nun bricht das Makro mit einer Fehlermeldung ab (vorher lief es tadellos) "Prozedur nicht definiet.
-
edit: ich stelle gerade fest, dass das Umwandeln von klein in Groß funktioniert - aber nicht umgekehrt.
nochmal edit: Ich habe den Fehler gefunden. Ich weiß nicht, wie es passiert ist, aber irgendwie war die Definition der Function verschwunden. Kein Wunder dass das nicht mehr lief...
-
edit: ich stelle gerade fest, dass das Umwandeln von klein in Groß funktioniert - aber nicht umgekehrt.
nochmal edit: Ich habe den Fehler gefunden. Ich weiß nicht, wie es passiert ist, aber irgendwie war die Definition der Function verschwunden. Kein Wunder dass das nicht mehr lief...
Zuletzt geändert von Noebian am Sa, 12.06.2010 20:29, insgesamt 1-mal geändert.
Xubuntu 12.04 / AOO 4.0 / MySQL 5.2.40
herzliche Grüße aus Deutschlands Norden
herzliche Grüße aus Deutschlands Norden
Re: Kleinbuchstaben in Großbuchstaben umwandeln
Hallo Noebian,
folgender Code sollte das tun was Du möchtest:
Du brauchst das Wort auch nicht markieren sondern nur den Cursor reinsetzen.
Viel Erfolg.
Jürgen
folgender Code sollte das tun was Du möchtest:
Code: Alles auswählen
Sub GrossKleinSchreibung
myDoc=thisComponent
myViewCursor=myDoc.GetCurrentController. ViewCursor
oText = myDoc.getText
oCursor = oText.createTextCursor()
oCursor.gotoRange(myViewCursor,false)
oCursor.gotoStartOfWord(False)
myViewCursor.gotoRange(oCursor,false)
myViewCursor.goRight(1,true)
buchstabe = myviewCursor.string
if myviewCursor.string = lcase(buchstabe) then
myviewCursor.string=ucase(buchstabe)
else
myviewCursor.string=lcase(buchstabe)
end if
myViewCursor.goright(1,false)
End Sub
Viel Erfolg.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Kleinbuchstaben in Großbuchstaben umwandeln
Naja, nicht ganz. Zwei Großbuchstaben hintereinander kann ich damit nicht ausmerzen.
Trotzdem danke schön!
Trotzdem danke schön!
Xubuntu 12.04 / AOO 4.0 / MySQL 5.2.40
herzliche Grüße aus Deutschlands Norden
herzliche Grüße aus Deutschlands Norden
Re: Kleinbuchstaben in Großbuchstaben umwandeln
Hallo Noebian,
"Zwei Grossbuchstaben am Wortanfang korrigieren"
Jürgen
Dafür gibt es doch die Autokorrektur unter Menue > Extras > Autokorrektur > Reiter OptionenNoebian hat geschrieben:Zwei Großbuchstaben hintereinander kann ich damit nicht ausmerzen.
"Zwei Grossbuchstaben am Wortanfang korrigieren"
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Kleinbuchstaben in Großbuchstaben umwandeln
Da hast du auch wieder recht 

Xubuntu 12.04 / AOO 4.0 / MySQL 5.2.40
herzliche Grüße aus Deutschlands Norden
herzliche Grüße aus Deutschlands Norden
Re: Kleinbuchstaben in Großbuchstaben umwandeln
Hi,
dieser Code macht folgendes bei einem markierten Wort mit zwei oder mehr aufeinander folgenden Grossbuchstaben:
Ausgangswort > GRossbuchstaben
1x Klick = Grossbuchstaben
Nochmal Klick = grossbuchstaben
Nochmal Klick = Grossbuchstaben
....... and so on
Jürgen
dieser Code macht folgendes bei einem markierten Wort mit zwei oder mehr aufeinander folgenden Grossbuchstaben:
Ausgangswort > GRossbuchstaben
1x Klick = Grossbuchstaben
Nochmal Klick = grossbuchstaben
Nochmal Klick = Grossbuchstaben
....... and so on
Code: Alles auswählen
Sub GrossKleinSchreibung
dim LenString as integer
myDoc=thisComponent
myViewCursor=myDoc.GetCurrentController.ViewCursor
LenString = Len(myviewCursor.string)
oText = myDoc.getText
oCursor = oText.createTextCursor()
oCursor.gotoRange(myViewCursor,false)
oCursor.gotoStartOfWord(False)
myViewCursor.gotoRange(oCursor,false)
myViewCursor.goRight(1,false)
myViewCursor.goRight(1,true)
buchstabe = myviewCursor.string
if myviewCursor.string = ucase(buchstabe) then
oCursor.gotoStartOfWord(False)
myViewCursor.gotoRange(oCursor,false)
myViewCursor.goRight(1,false)
myViewCursor.goRight(LenString -1,true)
buchstabe = myviewCursor.string
myviewCursor.string=lcase(buchstabe)
myViewCursor.goleft(1,false)
myViewCursor.goright(LenString,true)
exit Sub
end if
oCursor.gotoRange(myViewCursor,false)
oCursor.gotoStartOfWord(False)
myViewCursor.gotoRange(oCursor,false)
myViewCursor.goRight(1,true)
buchstabe = myviewCursor.string
if myviewCursor.string = ucase(buchstabe) then
myviewCursor.string=lcase(buchstabe)
else
myviewCursor.string=ucase(buchstabe)
end if
End Sub
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem