Java: Felder (Bookmarks?) korrekt auslesen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Java: Felder (Bookmarks?) korrekt auslesen

Re: Java: Felder (Bookmarks?) korrekt auslesen

von hol.sten » Fr, 08.02.2008 22:22

julien hat geschrieben:Was kann ich tun, um eine Verknüpfung zwischen Feldinhalt und Feldnamen zu erhalten?
Mit dem XBookmarksSupplier kannst du dir alle Bookmarks holen.

Mit dem Befehl "XNameAccess xNamedBookmarks = xBookmarksSupplier.getBookmarks();" kannst du dir alle Bookmarks inklusive deren Namen holen.

Anschließend kannst du mit dem Befehl "String[] bookmarkNames = xNamedBookmarks.getElementNames();" ein String-Array aller Bookmark-Namen bekommen.

Wenn du nun weißt, wie das gesuchte Bookmark heißt, durchsuchst du einfach das String-Array "bookmarkNames" nach den gewünschten Namen, erhälst damit deren Index und greifst dann über "Object bookmark = xNamedBookmarks.getByName(bookmarkNames);" auf das gesuchte Bookmark zu.

Re: Java: Felder (Bookmarks?) korrekt auslesen

von komma4 » Do, 07.02.2008 23:11

Ich kann Dir keine Lösung anbieten. Einmal, weil ich kein Java spreche, zum Anderen, weil ich keine Frage erkennen kann.

Du kannst auf die Position zugreifen und auf die Inhalte.
Wo liegt das Problem?

in Basic:

Code: Alles auswählen

' Textmarke holen
oBM = oWriterDok.getBookmarks().getByName( sBMName ) 
' Verankerung der Textmarke
oBMAnker = oBM.getAnchor()

oCur = oBMAnker.getText().createTextCursorByRange( oBMAnker ) 

oTextCur = oWriterDok.getText().createTextCursorByRange( oCur )

Java: Felder (Bookmarks?) korrekt auslesen

von julien » Mo, 14.01.2008 03:39

Hallo zusammen!

Vorsicht, ich bin neu :-) Aber vielleicht kann mir hier jemand helfen.
Ich habe eine große Anzahl an Rechnungen, die ursprünglich in Word (DOC, 97-2002) vorlagen. Diese habe ich in das ODT-Format konvertiert und versuche nun, auf die enthaltenen Felder
zuzugreifen, um sie auslesen zu können. Insgesamt ist jedes Dokument einseitig und besteht aus einer Tabelle. Alle Felder liegen also in den Zellen, aber manchmal steht in der jeweiligen Zelle auch noch Information, die ich nicht gebrauchen kann.

Bisher habe ich folgende Erfahrung gemacht:
1. Wenn ich den XBookmarksSupplier verwende und eine Instanz von XBookmarksNameAccess bilde, kann ich über die Methode getByName(String s) ein Any-Objekt bekommen.

Code: Alles auswählen

XTextContent xTextContent = (XTextContent) ((Any)xBookmarksNameAccess.getByName(key)).getObject(); 
gibt mir dann leider auch die Informationen aus den Zellen aus, die ich überhaupt nicht benötige.
2. Wenn ich über den XTextFieldsSupplier gehe, dann bekomme ich die richtigen Werte, allerdings nur als Enumeration, so dass ich nicht weiß, welcher Wert zu welchem Feld gehört. Es kommt nämlich auch vor, dass in manchen Rechnungen ein Feld mehr oder weniger enthalten ist.

Die 2. Methode funktioniert wunderprächtig, aber leider ohne Identifizierungsmöglichkeit.
Was kann ich tun, um eine Verknüpfung zwischen Feldinhalt und Feldnamen zu erhalten?

Hoffentlich habe ich mich verständlich ausgedrückt (schon spät :-).
Jedenfalls schon einmal vielen Dank im Voraus!


Grüße
Julien

Nach oben