Hey Mikle,
na gut, den einfacherern Teil hast du ja schon geschafft, dann ist der Rest auch zu lösen
Packen wir es an:
1.) Wie bekomme ich die Umrandung der Tabellen weg ?
Die Umrahmung ist eine Eigenschaft der Tabellenzelle, und die hat bei einer Texttabelle vier Linienobjekte, die alle automatisch gesetzt werden. Willst du also keine Linie, musst du Zelle für Zelle alle Border quasi auf Null setzen! Es gibt zwar auch ein Objekt der Tabelle (TableBorder), ob du das aber einfach auf 0 setzen kannst, weiss ich nicht.
Der Weg wäre : Du definierst dir ein Linienobjekt, da du keine Linie willst, kann dies einfach leer sein:
Dim oLinie as new com.sun.star.table.BorderLine
Das weist du nun dem jeweiligen Zellenobjekt zu (z.B. der Zelle 0,0:
With oTextTable.getCellByPosition(0,0)
.topBorder = oLinie
.leftBorder = oLinie
.rightBorder = oLinie
.bottomBorder = oLinie
end with
So, diese Zelle wäre jetzt ohne LInie. Das solltest du natürlich über Schleifen vereinfachen!
2.) Wie kann ich die Schrift direkt formatieren _( nicht über die Formatvorlage z.B. Überschrift 2 )
Na, so wie du Text direkt formatiert. Textcursor erzeugen, Textcursor (der ja nun ein Textobjektdarstellt) formatieren.
Beispiel: Die Schrift in Zelle (0,0) soll blau werden:
oTextCursor = oTable.getCellByPosition(0,0).createTextCursor()
oTextCursor.gotoEnd(true)
oTextCursor.CharColor = RGB(0, 0, 255)
Da kannst du natürlich auch alle anderen Zeichen- und Absatzeigenschaften direkt setzen.
3.) Wie kann ich die Höhe der Tabellenzeilen festschreiben ( z.B.1,7 cm )
Die hängen automatisch von der Absatzvorlage der Zellinhalte ab, sie werden dynamisch angepasst.
Natürlich kannst du die Zeilen auch manuell manipulieren. Dazu benötigst du zunächst das Zeilenobjekt:
oRow = oDoc.TextTables(0).rows.getByIndex(0)
Hier beispielsweise die erste Reihe der Tabelle.
Jetzt kannst du die Höeh direkt setzen (in 100 stel Milimeter):
oRow.height = 1700 ' entspricht 17 mm = 1,7 cm
Ich hoffe, es hilft erst einmal.