Seite 1 von 1

Text in Grafiken verschieden formatieren via Makro

Verfasst: Sa 24. Sep 2011, 09:33
von Alien
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!

Re: Text in Grafiken verschieden formatieren via Makro

Verfasst: Sa 24. Sep 2011, 18:28
von komma4
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 :)

Re: Text in Grafiken verschieden formatieren via Makro

Verfasst: So 25. Sep 2011, 09:04
von Alien
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

Re: Text in Grafiken verschieden formatieren via Makro

Verfasst: So 25. Sep 2011, 10:30
von komma4
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!

Re: Text in Grafiken verschieden formatieren via Makro

Verfasst: So 25. Sep 2011, 12:09
von Alien
Funktioniert fantastisch! Vielen vielen Dank!