Hallo zusammen,
ich möchte in LibreOffice ein Makro erstellen, um in einem Text die Schriftfarbe für Buchstaben zu verändern. Dabei sollen den einzelnen Buchstaben feste Farben zugewiesen werden. Also alle "a" in blau, alle "b" in rot etc.
In Word ist mir das mit VBA über die Funktion "Suchen und Ersetzen" gelungen. Ich habe dann den relativ kurzen Code einfach vervielfälltigt und für jeden Buchstaben angepasst. In Basic ist aber der Code unheimlich lang und die Stelle mit dem Farbwechsel kann ich nicht erkennen.
Gibt es da eine schönere Lösung. Ich habe leider gar keine Erfahrung im Programmieren und schon gar nicht in Basic.
Ich hoffe, mir kann da jemand einen Tipp geben.
Herzliche Grüße
Ilmarinen
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Makro für Wechsel der Schriftfarbe für einzelne Buchstaben
Re: Makro für Wechsel der Schriftfarbe für einzelne Buchstaben
Hier ist ein funktionierender Basic Code:
https://ask.libreoffice.org/t/how-to-ch ... ro/11036/3
Sollte leicht für alle Buchstaben erweiterbar sein. Vielleicht könnte man anstelle der Farben auch Zeichenstile erstellen und zuweisen, aber im Moment reicht das vielleicht so.
https://ask.libreoffice.org/t/how-to-ch ... ro/11036/3
Sollte leicht für alle Buchstaben erweiterbar sein. Vielleicht könnte man anstelle der Farben auch Zeichenstile erstellen und zuweisen, aber im Moment reicht das vielleicht so.
Code: Alles auswählen
Sub runTest
setColorToSpecificText("a", RGB(255,0,0)) ' Change all "a" to RED
setColorToSpecificText("b", RGB(0,0,255)) ' Change all "b" to Blue
End Sub
Sub setColorToSpecificText(sSpecificText As String, lColor As Long)
Dim oSrchDescr As Variant
Dim aFound As Variant
Dim oNextText As Variant
Dim i As Long
oSrchDescr = ThisComponent.createSearchDescriptor()
oSrchDescr.setSearchString(sSpecificText)
aFound = ThisComponent.findAll(oSrchDescr)
For i = 0 To aFound.getCount() - 1
oNextText = aFound.getByIndex(i)
oNextText.CharColor = lColor
Next i
End Sub
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html
Re: Makro für Wechsel der Schriftfarbe für einzelne Buchstaben
Hallo muiskai,
wow, das ging ja super schnell.
Ich habe das Makro auf die anderen Buchstaben erweitert und es funktioniert super.
Herzlichen Dank für Deine Hilfe
Ilmarinen
wow, das ging ja super schnell.
Ich habe das Makro auf die anderen Buchstaben erweitert und es funktioniert super.
Herzlichen Dank für Deine Hilfe
Ilmarinen
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.