Liebes Forum,
ich nutze für den Wechsel von kleingeschriebenen zu großgeschriebenen Buchstaben (und umgekehrt) folgendes Makro:
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
Das funktioniert auch sehr gut in "normalen" Texten. Allerdings nicht in Tabellen. Da erscheint eine Fehlermeldung und die Zeile "oCursor.gotoRange(myViewCursor,false)" wird markiert.
Woran liegt der Fehler - und wie könnte ich den Code so ändern, dass es auch in Tabellen funktioniert?
Viele Grüße, Jens
🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
GroßKleinSchreibung in Tabellen
-
- Beiträge: 4
- Registriert: Mo 23. Mär 2020, 15:44
Re: GroßKleinSchreibung in Tabellen
Hallo,
ich habe noch nicht richtig verstanden was du erreichen willst.
Soll der nur erste Buchstabe des aktuellen Wortes in der Schreibweise geändert werden?
Dann würde ich es so versuchen:
ich habe noch nicht richtig verstanden was du erreichen willst.
Soll der nur erste Buchstabe des aktuellen Wortes in der Schreibweise geändert werden?
Dann würde ich es so versuchen:
Code: Alles auswählen
sub GrossKleinSchreibung2
myDoc=ThisComponent
viewCur=myDoc.GetCurrentController.ViewCursor
txt=mydoc.CurrentSelection.getByIndex(0).Text
txtcur=txt.createTextCursorByRange(viewCur)
txtcur.collapseToStart
txtcur.gotoStartOfWord(false)
txtcur.goRight(1,true)
buchstabe=txtcur.String
if buchstabe=ucase(buchstabe) then
txtcur.String=lcase(buchstabe)
else
txtcur.String=ucase(buchstabe)
end if
end sub
Gruß,
mikele
mikele
-
- Beiträge: 4
- Registriert: Mo 23. Mär 2020, 15:44
Re: GroßKleinSchreibung in Tabellen
Vielen Dank! Ja, ich halte oft die Shift-Taste zu kurz, so dass der erste Buchstabe z.B. bei Hauptwörtern klein geschrieben ist. Die "normale" F3-Funktion macht oft noch vieles andere, was ich nicht will, ...
Mit Deinem Code funktioniert es jetzt auch in Tabellen! Super!
Mit Deinem Code funktioniert es jetzt auch in Tabellen! Super!
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.