OO3: LoadComponentFromUrl (Delphi-Anwendung)

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

moritz
*****
Beiträge: 216
Registriert: Mi, 20.10.2004 20:54

Re: OO3: LoadComponentFromUrl (Delphi-Anwendung)

Beitrag von moritz »

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
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: OO3: LoadComponentFromUrl (Delphi-Anwendung)

Beitrag von eBayer »

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
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: OO3: LoadComponentFromUrl (Delphi-Anwendung)

Beitrag von eBayer »

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
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: OO3: LoadComponentFromUrl (Delphi-Anwendung)

Beitrag von eBayer »

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
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: OO3: LoadComponentFromUrl (Delphi-Anwendung)

Beitrag von eBayer »

dann schreib in den Titel auch "gelöst" hinein!
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Antworten