Hallo Peter,
Du kannst die Tabellen auch mit getByIndex() ansprechen (nullbasiert)...
Syntax:
oTable = thisComponent.TextTables.getByIndex()
Frage: Spricht dieser Befehl eine beliebige Tabelle an, in der der Cursor steht? Oder spricht dieser Befehl alle im Dokument vorhandene Tabellen an?
Hast Du Zellen gemerged?
Nein. Die Testtabelle habe erstellt, indem ich "1<Tabulator>2<Tabulator>3" (ohne Anführungszeichen)
eingegeben habe, die Zeile markiert habe und unter Tabelle -> Umwandeln -> "Text in Tabelle" -> Trennzeichen im Text "Tabulator" angeklickt habe.
Die Testtabelle "Tabelle1" enthält jetzt nur eine (1) Zeile. Aber auch mit zwei oder mehr Zeilen läuft das Makro auch nicht.
Wieviele Spalten hat Deine Tabelle (im vorliegenden Fall müssten es mindestens 5
sein).
Meine Testtabelle hat zu Testzwecken zwei, drei oder vier Spalten enthalten. Aufgrund Deines Hinweises habe ich eine fünfte Spalte eingefügt. Aber auch da tut sich nichts.
Ich verstehe auch nicht, warum
oTblColSeps(0).Position = 800
oTblColSeps(1).Position = 900
oTblColSeps(2).Position = 1600
fünf Spalten anspricht und nicht drei Spalten?
Ich gehe davon aus, dass Du den Quellcode Deines Makros, das die Spaltenbreite steuert bzw. die gewünschten Sapltenbreiten einstellt, gepostet hast. Logischerweise muss der Fehler bei mir bzw. in meinem Dokument liegen. Aber welcher?
Gruß
Jochen
PS: der Quellcode Deines Makros
Sub Main
oTable = thisComponent.TextTables.getByName("MeinTabellenname")
oTblColSeps = oTable.TableColumnSeparators
oTblColSeps(0).Position = 800
oTblColSeps(1).Position = 900
oTblColSeps(2).Position = 1600
oTable.TableColumnSeparators = oTblColSeps
End Sub