von Axel Richter » Sa, 23.07.2011 09:48
Hallo entwickler72,
entwickler72 hat geschrieben:was ich aber nicht verstehe ist warum ich alle Enumerationen aller Textfelder durchlaufen muss ?
Dein Name impliziert, dass Du etwas davon verstehen solltest. Deshalb mal technisch:
Das Textdokument implementiert das Interface
http://api.openoffice.org/docs/common/r ... plier.html.
Dieses definiert die Methode getBookmarks, welche ein
http://api.openoffice.org/docs/common/r ... ccess.html zurückliefert, mit der Collection aller Bookmarks des Dokuments.
Darin gibt es dann die Methode getByName.
Deshalb kannst Du auf Bookmarks über deren Namen zugreifen.
Für Textfelder, also auch Platzhalter, gibt es nur
http://api.openoffice.org/docs/common/r ... plier.html mit getTextFields.
Dieses gibt ein
http://api.openoffice.org/docs/common/r ... ccess.html zurück und dort gibt es nur createEnumeration als Zugriffsmöglichkeit.
Kürzer:
Es gibt halt kein .Placeholders.getByName im Textdokument
Für die Entwicklung mit OpenOffice oder LibreOffice braucht man dringend die Möglichkeit, die OO-Objekte untersuchen zu können.
Ein gutes Werkzeug dafür ist xray
http://wiki.services.openoffice.org/wik ... X-Ray_tool. Download von
http://bernard.marcelly.perso.sfr.fr/index2.html.
viele Grüße
Axel
Hallo entwickler72,
[quote="entwickler72"]was ich aber nicht verstehe ist warum ich alle Enumerationen aller Textfelder durchlaufen muss ?[/quote]
Dein Name impliziert, dass Du etwas davon verstehen solltest. Deshalb mal technisch:
Das Textdokument implementiert das Interface [url]http://api.openoffice.org/docs/common/ref/com/sun/star/sdb/XBookmarksSupplier.html[/url].
Dieses definiert die Methode getBookmarks, welche ein [url]http://api.openoffice.org/docs/common/ref/com/sun/star/container/XNameAccess.html[/url] zurückliefert, mit der Collection aller Bookmarks des Dokuments.
Darin gibt es dann die Methode getByName.
Deshalb kannst Du auf Bookmarks über deren Namen zugreifen.
Für Textfelder, also auch Platzhalter, gibt es nur [url]http://api.openoffice.org/docs/common/ref/com/sun/star/text/XTextFieldsSupplier.html[/url] mit getTextFields.
Dieses gibt ein [url]http://api.openoffice.org/docs/common/ref/com/sun/star/container/XEnumerationAccess.html[/url] zurück und dort gibt es nur createEnumeration als Zugriffsmöglichkeit.
Kürzer:
Es gibt halt kein .Placeholders.getByName im Textdokument ;-)
Für die Entwicklung mit OpenOffice oder LibreOffice braucht man dringend die Möglichkeit, die OO-Objekte untersuchen zu können.
Ein gutes Werkzeug dafür ist xray [url]http://wiki.services.openoffice.org/wiki/Extensions_development_basic#X-Ray_tool[/url]. Download von [url]http://bernard.marcelly.perso.sfr.fr/index2.html[/url].
viele Grüße
Axel