Einzelnen Beitrag anzeigen

Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: OLE OpenOffice Textersetzung, OO unsichtbar machen

  Alt 28. Feb 2012, 08:28
hi,

der zusätzliche Parameter beim Laden (und auch speichern) beinhaltet zusätzliche Optionen die in com.sun.star.document.MediaDescriptor beschrieben sein sollten (könnte sein, dass die in der aktuellen SDK ggf. inzwischen wo anders stehen).

Um eine Datei zu exportieren, ist etwas Aufwand notwendig:

Delphi-Quellcode:
procedure TForm1.btnExportClick(Sender: TObject);
var vSvcMgr, vDesktop, vEmptyParam, vDoc, vSaveParams,
  vCoreReflection, vPropertyValue:OleVariant;
  sFileName:String;
begin
  vEmptyParam:=VarArrayCreate([0, -1], varVariant);
  vSvcMgr:=CreateOleObject(‘com.sun.star.ServiceManager’);
  vDesktop:=vSvcMgr.createInstance(‘com.sun.star.frame.Desktop’);
  vDoc:=vDesktop.LoadComponentFromURL(‘private:factory/swriter’,’_blank’,0, vEmptyParam);
  
  vsaveParams := VarArrayCreate([0, 0], varVariant);
  vCoreReflection := vSvcMgr.createInstance(‘com.sun.star.reflection.CoreReflection’);
  vCoreReflection.forName(‘com.sun.star.beans.PropertyValue’).createObject(vPropertyValue);
  vPropertyValue.Name := ‘FilterName’;
  vPropertyValue.Value := ‘MS Word 97’;
  vsaveParams[0] := vPropertyValue;
  
  if SaveDialog1.Execute then begin
    sFileName:= KonvFileName(SaveDialog1.FileName);
    vDoc.storeAsUrl(sFileName, vsaveParams);
  end;
end;
vEmptyParam sollte in aktuelleren Delphi-Versioenen nicht mehr notwendig sein, da gibts IMHo schon einen definierten EmptyParam

verflixt zu spät...
  Mit Zitat antworten Zitat