OpenOffice/LibreOffice OLE Automation: Executer une macro
Bonjour,
Je souhaite simplement exécuter une macro qui est dans un document Ooffice, depuis Delphi via l'OLE comment faire ?
Je peux charger le document
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
//------------------------------------------------------------------------------------------------------------------------------
procedure TForm1.BtnLoadDocumentClick(Sender: TObject);
var
LoadParams : Variant;
NomFichier : AnsiString;
begin
OpenOffice := CreateOleObject('com.sun.star.ServiceManager');
OpenDesktop := OpenOffice.createInstance('com.sun.star.frame.Desktop');
LoadParams := VarArrayCreate([0, -1], varVariant);
NomFichier := StringReplace(DocumentFileName, '\', '/', [rfReplaceAll, rfIgnoreCase]);
OLEDocument := openDesktop.LoadComponentFromURL( 'file:///'+NomFichier, '_blank', 0, LoadParams);
end; |
Je peux mettre à jour un signet:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
procedure TForm1.BtnSetDateTimeClick(Sender: TObject);
var
bmk : variant;
begin
try
bmk := OLEDocument.Bookmarks.getByName('DateTime').Anchor;
except
bmk:=null;
end;
if not(VarIsEmpty(bmk)) then bmk.setString('The date and time') else ShowMessage('Repere de texte non trouvé');
end; |
Mais impossible de trouver comment executer une macro..
Merci