OO3: LoadComponentFromUrl (Delphi-Anwendung)

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: OO3: LoadComponentFromUrl (Delphi-Anwendung)

Re: OO3: LoadComponentFromUrl (Delphi-Anwendung)

von eBayer » Di, 03.11.2009 10:00

dann schreib in den Titel auch "gelöst" hinein!
Gruß eBayer

Re: OO3: LoadComponentFromUrl (Delphi-Anwendung)

von eBayer » Mo, 02.11.2009 16:41

na das ist doch schon ein Fortschritt....
Den Rest mußt Du selbst herausfinden..... Mußt einfach noch ein wenig im Netz herumsuchen oder testen.
.... fällt mir grad noch ein: Pass doch mal die Makro-Sicherheitsstufe in oo an, denn Du hast ja offensichtlich das Verzeichnis als sicher deklariert. Warum soll dann noch gefragt werden - wird sich OO denken.
Gruß eBayer

Re: OO3: LoadComponentFromUrl (Delphi-Anwendung)

von eBayer » Mo, 02.11.2009 15:43

hast Du unter oo in den Grundeinstellungen die notwendigen Eintragungen vorgenommen?

1. OO starten
2. Extras - Optionen - OpenOffice.org - Sicherheit - Makro Sicherheit - Vertrauenswürdige Quellen
Dort das entsprechende Verzeichnis einstellen.
Gruß eBayer

Re: OO3: LoadComponentFromUrl (Delphi-Anwendung)

von eBayer » Mo, 02.11.2009 13:38

schau doch mal da:
http://api.openoffice.org/docs/common/r ... cMode.html

Die Ausführung des Makros erreichst Du dadurch, daß Du in Deiner Vorlage unter Extras - Anpassen - Ereignisse - Dokument öffnen...
das im Dokument hinterlegte Makro verbindest.

Vielleicht hat Dir das ja gefehlt?
Gruß eBayer

Re: OO3: LoadComponentFromUrl (Delphi-Anwendung)

von moritz » Fr, 30.10.2009 13:17

Hier eine Programmlösung, die bei mir funktioniert:
procedure CalcDateiOeffnen;
var
aktVorlage: string;
vSvcMgr, vDesktop, vParam, vDoc, dummy: OleVariant;
begin
with fProjekt,dmProjekt do
begin
ConnectOpenOffice;
vParam:=VarArrayCreate([0, 0], varVariant);
vParam[0] := MakePropertyValue('MacroExecutionMode', '4');
//vParam[0].Name = "MacroExecutionMode"
//lvParam[0].Value = 4 ' always execute - no warning
vSvcMgr:=CreateOleObject('com.sun.star.ServiceManager');
vDesktop:=vSvcMgr.createInstance('com.sun.star.frame.Desktop');
AktVorlage:= ConvertToUrl(ProjektPfad + '\' + ProjektVerzeichnis.Value + '\CalcDatei.ods');
vDoc:=vDesktop.LoadComponentFromURL(AktVorlage,'_blank',0, vParam);
vDoc.CurrentController.Frame.ContainerWindow.Visible:= 'True';
runScript('Calc_Datei.meineTabelle.Ein_SelectionChangeListener',dummy);
vDoc.CurrentController.Frame.Containerwindow.ToFront;
DisconnectOpenOffice;
end;
end;

Viele Erfolg
Moritz

Nach oben