Seite 1 von 1

[Writer] Textmarken in einer Tabelle beschreiben

Verfasst: Fr, 24.02.2006 13:28
von tdtech05
Hallo,

ich möchte gerne in einem OO Writer Dokument über ein Makro Textmarken (Bookmarks) in einer Tabelle beschreiben.
Bei "normalen" Texmarken hab ich das schon gemacht, das funktioniert wunderbar:
oDoc.getBookmarks().getByName("Firma").getAnchor.setString(Firma)

Aber wenn sich die Textmarken in einer Tabelle befinden funktioniert das so nicht. Ich denke man muß sie wahrscheinlich anders ansprechen um sie beschreiben zu können, weil sie eben in einer Tabelle stehen?!


Wäre sehr nett, wenn mir jemand die Syntax dafür verraten könnte!

Grüße

Verfasst: Fr, 24.02.2006 17:04
von Toxitom
Hey tdtech05,

lade dir die Rechnungsvorlag von -> hier herunter. Dort wird eine Bookmark in einer Tabele angesprochen. Da kannst du dir den Code ansehn.

Viele Grüße
Thomas

Verfasst: So, 26.02.2006 20:28
von tdtech05
Danke für den Tipp, werd ich mir angucken! Hoffe ich kann das nachvollziehen...

Eigentlich könnte ich die Tabellen-Felder ja auch direkt ansprechen/anspringen. Kann mir jemand verraten wie man das macht? :oops:

Verfasst: Mo, 27.02.2006 12:30
von tdtech05
Hmm, also irgendwie "funktioniert" das bei mir nicht mit dem Beschreiben der Bookmarks in einer Tabelle!? Hab folgendes probiert:

oBookmark=oDoc.Bookmarks.getByName(Name)
oCell=oDoc.TextTables(0).getCellByIndex(A1)
cursor=oCell.createTextCursorByRange(oBookmark.anchor)
If cursor.isEndOfParagraph() then
cursor.string=" "
else
cursor.goright(1, false)
end if
cursor.goToEndOfParagraph(true)
Cursor.string = Name


Bricht schon in der ersten Zeile mit einem runtime-error ab. Der Name in Hochkommata bringt leider auch keine Besserung. ( getByName("Name") )

Hat jemand noch nen Lösungvorschlag bzw. kann mir das viell. jemand erklären, wie ich ich Tabellen Felder/Zellen anspringen und beschreiben kann?!

:evil: :oops:

Verfasst: Mo, 27.02.2006 13:18
von Toxitom
Hey tdtech05,
Bricht schon in der ersten Zeile mit einem runtime-error ab.
Hmm, hast du denn überhaupt eine Bookmark (Tetmarke) im Dokument mit Namen "Name"? Und wie ist "oDoc" definiert?

Also, wenn es dir nur darum geht, in die Zelle A1 der Tabelle 1 (index 0) des Dokumentes einen String zu schreiben, so reicht folgender Code:

Code: Alles auswählen

sub ZelleSchreiben
  thisComponent.TextTables(0).getCellByName("A1").setString("Hallo!")
end sub

Viele Grüße
Thomas :D

Verfasst: Mo, 27.02.2006 15:01
von tdtech05
Hallo,

erstmal danke für deine schnelle Antwort.

"Name" war jetzt nur ein Bsp, ist natürlich definiert. Macht halt nur Probleme wenn die Textmarke/Bookmark in einer Tabelle steht?!

oDoch ist einfach das aktuelle Dokument:

Dim oDoc As Object
oDoc = ThisComponent



Hmm, naja dann probiere ich es erstmal über die Tabellenfelder, schöner fände ich dennoch das mit mit den Textmarken in der Tabelle (noch bessere Positionierung).

Vielen Dank nochmal & schöne Grüße,

Carsten