Grundsätzlich kann man Tabellen auf zwei Arten einstellen: Zellenweise oder die Tabelle
gesamt. Für alle Linien gilt dabei das Struct "sun.com.star.table.Borderline". Borderline
besteht
aus folgenden Parametern:
Color -> Farbe der Linie
InnerLineWidth -> Weite der inneren Linie wenn man eine Doppellinie verwendet in
1/100 mm
OuterLineWidth -> Weite der äußeren Linie ( einfach oder doppelt) in 1/100 mm
LineDistance > Abstand zwischen den zwei Linien bei einer Doppellinie in 1/100
mm
Um also eine Linie mit einer dicke von 3 mm zu erhalten muss InnerLineWidth und
LineDistance auf 0 gesetzt werden und OuterLineWidth auf 300.
Um jetzt bei einer Zelle diesen Rahmen einzustellen muß man die gewünschten Linienwerte
nur den einzelnen Linien (Oben,Unten,Links,Rechts) zuweisen.
oDoc = thiscomponent
Cursor = oDoc.Text.createTextCursor()
oTables = oDoc.GetTextTables()
oTable = oTables(0)
oBorder = oTable.Tableborder
oBorderline = oBorder.TopLine
oBorderline.outerlinewidth = 10
oBorderline.innerlinewidth = 10
oBorderline.linedistance = 100
oBorderline.color = &H00000CCC
oCell = oTable.getCellByPosition(0,1)
With oCell
.topBorder = oBorderline
.leftBorder = oBorderline
.rightBorder = oBorderline
.bottomBorder = oBorderline
end with
Möchte man verschiedene Lienen muß man oBorderline zwischen den einzelnen Zuweisungen
anpassen.
Der zweite Weg geht über die gesamte Tabelle. Für die Lieneneinstellung gilt das Selbe
wie für
Zellen. Nur das es noch zwei weitere Linien gibt die horizontalen und vertikalen. (
Horizontalline,Verticalline).
oDoc = thiscomponent
Cursor = oDoc.Text.createTextCursor()
oTables = oDoc.GetTextTables()
oTable = oTables(0)
oBorder = oTable.Tableborder
oBorderline = oBorder.TopLine
oBorderline.outerlinewidth = 30
oBorderline.innerlinewidth = 30
oBorderline.linedistance = 100
oBorderline.color = &H00000CCC
oBorder.Topline = oBorderline
oBorder.Bottomline = oBorderline
oBorder.Leftline = oBorderline
oBorder.Rightline = oBorderline
oBorder.Horizontalline = oBorderline
oBorder.Verticalline = oBorderLine
oBorder.Distance = 100
oTable.Tableborder = oBorder