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
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