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

❤️ DANKE >> << DANKE ❤️

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

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: 1927
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 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.



Antworten