Einzelnen Beitrag anzeigen

LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#24

Re: OpenOffice und OLE, wie ?

  Alt 20. Aug 2009, 16:47
Ich bin nun auch ohne diesen für OO anscheinend nicht funktionierenden Viewer ein Stückchen weiter gekommen. Meine 2 Hauptprobleme sind zum einen die für mich recht unverständliche OO-API und zum anderen das richtige Zuordnen der Felder zu ihren Namen in der OO-API.

Durch folgenden Quelltext konnte ich zumindest schon winzig kleine Teilerfolge ermitteln:
Delphi-Quellcode:
function TOLE_OpenOffice.EntfPlatzhalter(platzhalter: String): Boolean;
var
  enum, field, InputField: Variant;
begin
  enum := Document.getTextFields.createEnumeration;
  while enum.hasMoreElements do begin
    field := enum.nextElement;
    // if VarType(field) <> varDispatch then ShowMessage('kein Dispatch-Interface vorhanden!');
    if field.supportsService('com.sun.star.text.TextField.Input') then begin
      ShowMessage('Input');
      ShowMessage(field.getPropertyValue('Hint'));
      ShowMessage(field.getPropertyValue('Content'));
      field.setPropertyValue('Content', 'Test-Content');
      Document.TextFields.refresh;
    end;
    if field.supportsService('com.sun.star.text.TextField.User') then begin
      ShowMessage('User');
    end;
    if field.supportsService('com.sun.star.text.TextField.InputUser') then begin
      ShowMessage('InputUser');
    end;
  end;
end;
So konnte ich zumindest ersteinmal herausfinden, daß die Platzhalter (Feldtyp->Platzhalter, Format->Text). nicht vom Typ Input sind, wie bisher von mir angenommen. Nur von welchem Typ sind sie dann?

Daraufhin habe ich ein Benutzerfeld vom Typ Text angelegt, und siehe da, es handelt sich um ein User-Feld. Daraufhin habe ich mich in der API zu User durchgeklickt, in der Hoffnung hier die Methoden zur Bearbeitung zu finden, aber Pustekucken, da stehen nur die Eigenschaften drinn. Entweder ist es jetzt schon zu spät, um klare Gedanken zu fassen oder aber die Open Office API ist die Schlimmste, mit der ich bisher zu tun hatte.

Kann jemand bei einem der beiden Probleme weiter helfen (also Methodensuche oder aber Felder und ihre bezeichnung in der API) oder sollte ich mich damit lieber an ein OO-Forum wenden?
MFG
LokutusvB
  Mit Zitat antworten Zitat