Hallo,
endlich klappt es, dass ich in einem Text die Tabellen per Makro
durchstreichen kann.
Aber ist das, so wie ich es mache auch geschickt?
Ich definiere einen ViewCursor
(ViewCursor weil die Methode JumpToPage() für den TextCursor nicht zur
Verfügung steht)
und einen Punkt. An der Position Punkt wird die Linie gezeichnet.
An meiner Lösung stört mich, dass die Werte für Point immer per Ausprobieren
ermittelt werden müssen.
Meine Linie soll ja immer über einer Tabelle, bzw. Tabellenzelle liegen.
Wie also kann ich eine Tabelle bzw. Tabellenzelle an einen Cursor binden,
damit ich den Cursor an die Methode insertTextContent übergeben kann?
Wenn ich das richtig verstehe wird com.sun.star.text.TextRange nicht von
Tabellen unterstützt. .... Mmmh
Vielen Dank für jeden Tipp.
Beste Grüße
Jochen
Mein Code:
'Das Dokument hat 2 Seiten
'Auf jeder Seite ist eine Tabelle
'Diese soll jeweils von einer Linie durchgestrichen werden
Sub zeichneLinie
Dim Doc As Object
Dim viewCursor As Object
Dim Size As New com.sun.star.awt.Size
Dim Point As New com.sun.star.awt.Point
Doc = StarDesktop.CurrentComponent
viewCursor = Doc.getCurrentController().getViewCursor()
'erste Linie------------------------------------
viewCursor.JumpToFirstPage()
Size.Width = 17000
Size.Height = 1350
Point.x = 0
Point.y = 5150
ersteLinie = Doc.createInstance("com.sun.star.drawing.LineShape")
ersteLinie.Position = Point 'vom Cursor aus gesehen
ersteLinie.Size = Size
'ersteLinie darf auf keinen Fall den Anker AS_CHARACTER haben,
'dann funktioniert WrapTextMode = THROUGHT nicht
ersteLinie.AnchorType = + _
com.sun.star.text.TextContentAnchorType.AT_CHARACTER
'WrapTextMode = THROUGHT : Textfluss ignoriert das Objekt
ersteLinie.TextWrap = com.sun.star.text.WrapTextMode.THROUGHT
Doc.Text.insertTextContent(viewCursor, ersteLinie, False)
'zweite Linie-------------------------------------
viewCursor.JumpToPage(2)
Size.Width = 17000
Size.Height = 1350
Point.x = 0
Point.y = 520
zweiteLinie = Doc.createInstance("com.sun.star.drawing.LineShape")
zweiteLinie.Position = Point 'vom Cursor aus gesehen
zweiteLinie.Size = Size
zweiteLinie.AnchorType = + _
com.sun.star.text.TextContentAnchorType.AT_CHARACTER
zweiteLinie.TextWrap = com.sun.star.text.WrapTextMode.THROUGHT
Doc.Text.insertTextContent(viewCursor, zweiteLinie, False)
End Sub
___________________________________________________________
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]