[Java] Property "Content" wird in PropertySet nicht gefunden

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] Property "Content" wird in PropertySet nicht gefunden

Re: [Java] Property "Content" wird in PropertySet nicht gefunden

von Plumperquatsch » Do, 03.01.2008 13:29

Hallo,

habe es selbst herausgefunden.
Offensichtlich ist es so, dass man Variablen in Textdokumenten diese Property nicht besitzen.
Ich habe es auf Benutzerfelder angepasst, die Feldnamen entsprechend angepasst und jetzt funktioniert es. 8)

Kann man denn nur auf Benutzerfelder zugreifen? Oder ist der Zugriff auf Variablen anders? :?:

Gruß,

Jens

[Java] Property "Content" wird in PropertySet nicht gefunden

von Plumperquatsch » Mi, 02.01.2008 17:47

Hallo,

ich habe mal wieder eine für mich nicht ersichtliche Unschärfe:

Ich möchte bestimmte, mir bekannte Textfelder in einem Writer-Dokument mit Werten füllen. Dazu hole ich mir das Dokument, den TextFieldMaster, ... bis ich schließlich am PropertySet für das gewünschte Feld ankomme. Dort möchte ich den Wert für "Content" ändern -> lese ich so aus dem Developer-Guide. Auch in dem Basic/ Starbasic Buch von Galileo wird nicht von anderen Proeprties gesprochen, sodaß ich denke,d er Fehler liegt woanders?
Die Felder sind als Variablen im Template definiert, nicht als Benutzerfelder.

Zunächst hole ich mir das Dokument:

Code: Alles auswählen

XComponentContext xRemoteContext;
XComponent wbTemplate;
try {
      xRemoteContext = com.sun.star.comp.helper.Bootstrap.bootstrap();
      XMultiComponentFactory factory = xRemoteContext.getServiceManager();
      Object desktop = factory.createInstanceWithContext("com.sun.star.frame.Desktop", 
                                                         xRemoteContext);
      XComponentLoader compLoader = 
                              (XComponentLoader)UnoRuntime.queryInterface(XComponentLoader.class, 
                                                                          desktop);
      PropertyValue[] docProp = getDokumentProperties();
      wbTemplate = compLoader.loadComponentFromURL(Preferences.getInstance().getUrlToWBTemplate(), 
                                                   "_blank", 
                                                   0, 
                                                   docProp);
Danach hole ich den FieldMaster...

Code: Alles auswählen

      XTextFieldsSupplier fieldFactory = 
                     (XTextFieldsSupplier)UnoRuntime.queryInterface(XTextFieldsSupplier.class,
                                                                    wbTemplate);
      XNameAccess fieldList = fieldFactory.getTextFieldMasters();

Jetzt baue ich die zu vervendenen daten auf. Der folgende Codeabschnitt befindet sich in einer Schleife, die über die aufgebauten Daten läuft und die entsprechenden Felder füllen soll.
Dabei steht in Usables.fieldNameExtension: "com.sun.star.text.FieldMaster.SetExpression." als Erweiterung des in der Liste stehenden Feldnamen.

Code: Alles auswählen

      Object field = fieldList.getByName(Usables.fieldNameExtension+propName);
      XPropertySet fieldProperties = 
                            (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, field);
      fieldProperties.setPropertyValue("content", "");  //<--- ABBRUCH ----------------------
...
Danach kommt nur noch Fehlerbehandlung.
Die Abbruchmeldung lautet: "Unknown property: content"

Hat jemand eine Idee? danke schon mal im Voraus.

Jens

/edit: Übersichtlicher aufgebaut

Nach oben