🍀 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!

🙏 DANKE >> << DANKE 🙏

>> 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

Alles zur Programmierung im LibreOffice.
Antworten
PastorJens
Beiträge: 4
Registriert: Mo 23. Mär 2020, 15:44

GroßKleinSchreibung in Tabellen

Beitrag von PastorJens » Fr 13. Jun 2025, 15:49

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

mikele
* LO-Experte *
Beiträge: 2047
Registriert: Mo 1. Aug 2011, 20:51

Re: GroßKleinSchreibung in Tabellen

Beitrag von mikele » Sa 14. Jun 2025, 10:23

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:

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

PastorJens
Beiträge: 4
Registriert: Mo 23. Mär 2020, 15:44

Re: GroßKleinSchreibung in Tabellen

Beitrag von PastorJens » Sa 14. Jun 2025, 19:41

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!


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 ❤️

Antworten