Daniel Rentz schrieb:
Timmi schrieb:
Hallo!
Weiß vielleicht jemand, wie man in einem Basic-Macro die
Spalteneinteilung für einen Rahmen ändert? Der folgende Code hat keinen
Effekt (produziert aber auch keine Fehlermeldung):
SUB aendern (rahmen AS OBJECT)
DIM temp AS OBJECT
temp = rahmen.TextColumns
temp.ColumnCount = 5
END SUB
Du musst das Property "TextColumns" in den Rahmen zurückschreiben:
SUB aendern (rahmen AS OBJECT)
temp = rahmen.TextColumns
temp.ColumnCount = 5
rahmen.TextColumns = temp ' zurueckschreiben
END SUB
"temp" ist eine eigene Kopie des Properties "auf der Wiese", und keine
Verknüpfung bzw. Referenz zu den Daten, die in "rahmen" stehen.
Außerdem müsste ich die Spalten verschieden groß einteilen, aber mit der
Datenstruktur komme ich nicht zurecht. Kann mir jemand weiterhelfen?
Danke.
SUB aendern (rahmen AS OBJECT)
temp = rahmen.TextColumns
temp.ColumnCount = 5
columns = temp.Columns
columns( 0 ).Width = 2000
columns( 1 ).Width = 5000
columns( 4 ).Width = 3000
temp.Columns = columns ' zurueckschreiben
rahmen.TextColumns = temp ' zurueckschreiben
END SUB
"temp.Columns" oder auch "temp.getColumns()" liefert ein Array von
"com.sun.star.text.TextColumn"-Objekten.
http://api.openoffice.org/docs/common/ref/com/sun/star/text/XTextColumns.html#getColumns
http://api.openoffice.org/docs/common/ref/com/sun/star/text/TextColumn.html
Die können direkt im Array manipuliert werden. Allerdings muss das
gesamte Array nach "temp" zurückgeschrieben werden: "temp.Columns =
columns" oder "temp.setColumns(columns)".
Ciao
Daniel
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Es hat auf Anhieb funktioniert. Vielen Dank für die schnelle und
kompetente Hilfe!!!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]