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
🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
GroßKleinSchreibung in Tabellen
-
PastorJens
- 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 subGruß,
mikele
mikele
-
PastorJens
- 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:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️