Seite 1 von 1

[gelöst] TextTable: Einzug auf 0 setzen

Verfasst: Mi, 16.06.2010 16:20
von juetho
Hallo, ich füge per Makro in mein Writer-Dokument eine Reihe von TextTables (jeweils eine Spalte, zwischen 5 und 20 Zeilen) ein. Die Umrandungen werden so gesetzt, wie ich es wünsche, nämlich bei jeder Zeile unten und sonst nichts. Nun möchte ich noch den Einzug links und rechts auf 0 setzen und den Abstand oberhalb der unteren Umrandung auf 0,3 cm.

Manuell geht das über Tabelle >> Tabelleneigenschaften >> Umrandung >> Abstand zum Inhalt (dabei Synchronisieren ausschalten). Ich finde aber keine passende Eigenschaft der TextTable, um das per Makro zu steuern. Es könnte etwas mit ParaIndent zu tun haben, aber der untere Rand passt nicht zu diesem Begriff. Außerdem liest sich das so, als wenn es zu einem Absatz (Paragraph) gehören würde und nicht zu Tabellen bzw. Zellen.

Hat jemand einen Tipp für mich? Danke! Jürgen

Re: TextTable: Einzug auf 0 setzen

Verfasst: Mi, 16.06.2010 17:16
von DPunch
Aloha

Versuchs mal so:

Code: Alles auswählen

Distances = oMyTable.TableBorderDistances
Distances.BottomDistance = 300
Distances.LeftDistance = 0
Distances.RightDistance = 0
oMyTable.TableBorderDistances = Distances

Re: TextTable: Einzug auf 0 setzen

Verfasst: Mi, 16.06.2010 17:32
von juetho
Danke, das ist das richtige Verfahren. Aber hier gilt - genauso wie bei CollapsingBorders -, dass die TextTable zuerst eingefügt werden muss; andernfalls gibt es beim Abruf der Distances eine IllegalArgumentException (ohne Message-Text). Also muss man so vorgehen:

Code: Alles auswählen

	doctext.insertTextContent(doccursor, newTable, False)
	newtable.CollapsingBorders = false
	Distances = newTable.TableBorderDistances
	Distances.BottomDistance = 300
	Distances.TopDistance = 200
	Distances.LeftDistance = 0
	Distances.RightDistance = 0
	newTable.TableBorderDistances = Distances
Gruß Jürgen