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
Je peux mettre à jour un signet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Mais impossible de trouver comment executer une macro..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Merci
Partager