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

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

Text in Grafiken verschieden formatieren via Makro

Alles zur Programmierung im LibreOffice.
Antworten
Alien
Beiträge: 9
Registriert: Sa 24. Sep 2011, 09:27

Text in Grafiken verschieden formatieren via Makro

Beitrag von Alien » Sa 24. Sep 2011, 09:33

Hallo zusammen,

ich habe bereits Rechtecke mit Text erstellt, und darin den Text formatiert, z.B. unterstrichen und Fett, Schriftgröße 12.

Meine Frage: Wie kann ich einzelne Buchstaben in dem Rechteck verschieden formatieren? Z.B. Wenn das Rechteck den Text

Hallo Ihr!

enthält:

Hallo Ihr!

Geht das irgendwie?

Vielen Dank schon mal für Antworten!

komma4
Beiträge: 185
Registriert: Sa 13. Aug 2011, 10:01
Wohnort: Chonburi Thailand Asia
Kontaktdaten:

Re: Text in Grafiken verschieden formatieren via Makro

Beitrag von komma4 » Sa 24. Sep 2011, 18:28

Willkommen im Forum
Alien hat geschrieben:Geht das irgendwie?
Klar geht das :geek:

Code: Alles auswählen

oText = ThisComponent.Drawpage.getByIndex(0).Start.getText()
oTC = oText.createTextCursor()

With oTC
.goRight( 3, TRUE )
.setPropertyValue( "CharWeight", 150 )
End With

With oTC
.gotoStart(FALSE)
.goRight( 3, FALSE )
.goRight( 3, TRUE )
.setPropertyValue( "CharWeight", 100 )
End With

With oTC
.gotoStart(FALSE)
.goRight( 3, FALSE )
.goRight( 3, FALSE )
.goRight( 2, TRUE )
.setPropertyValue( "CharWeight", 100 )
.setPropertyValue( "CharPosture", 2 )
End With

With oTC

.gotoStart(FALSE)
.goRight( 3, FALSE )
.goRight( 3, FALSE )
.goRight( 2, FALSE )
.goRight( 2, TRUE )
.setPropertyValue( "CharWeight", 100 )
.setPropertyValue( "CharUnderline", 1 )
End With

Die einzelnen goRights kann man natürlich auch zusammen fassen... war aber zu faul, kopieren geht schneller :)
Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)

Alien
Beiträge: 9
Registriert: Sa 24. Sep 2011, 09:27

Re: Text in Grafiken verschieden formatieren via Makro

Beitrag von Alien » So 25. Sep 2011, 09:04

Vielen Dank. Im Writer funktioniert das blendend!

Warum geht das denn im LO-Draw nicht? Oder muss man da bestimmte Befehle anpassen?

Er beschwert sich da über Drawpage, und wenn ich das zu Drawpages ändere beschwert er sich über Start.

Wenn ich mein bisheriges Makro auch im Writer zum laufen bekomme (im Moment beschwert er sich im Writer dann über Drawpages :roll: ), ist das jedenfalls eine Super Lösung, danke.

Viele Grüße

komma4
Beiträge: 185
Registriert: Sa 13. Aug 2011, 10:01
Wohnort: Chonburi Thailand Asia
Kontaktdaten:

Re: Text in Grafiken verschieden formatieren via Makro

Beitrag von komma4 » So 25. Sep 2011, 10:30

Sorry, ich bin von Zeichenobjekten im WRITER ausgegangen.

Bei Zeichnungen (Modul: DRAW) ist der Aufbau anders

ODG>DrawPages()>Shapes()>Text

bedeutet: eine Draw-Datei hat (sofern Zeichenobjekte enthalten sind mind. 1) DrawPage(s), (0 bis mehrere) Shapes, diese haben Text (oder auch nicht), mit welchem Du ein TextCursor erzeugen kannst.
Der Rest des Codes bleibt gleich

Code: Alles auswählen

' 2011-09-25 für DRAW
oPage1 = ThisComponent.Drawpages().getByName( "page1" )
oShape = oPage1.getByIndex(0)
oText = oShape.getText()
oTC = oText.createTextCursor()
Findest Du alles selbst raus, wenn Du -wie ich in diesem Fall- mit MRI die Objekte untersuchst.

Viel Erfolg!
Zuletzt geändert von komma4 am So 25. Sep 2011, 12:38, insgesamt 2-mal geändert.
Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)

Alien
Beiträge: 9
Registriert: Sa 24. Sep 2011, 09:27

Re: Text in Grafiken verschieden formatieren via Makro

Beitrag von Alien » So 25. Sep 2011, 12:09

Funktioniert fantastisch! Vielen vielen Dank!


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