[R] Lancer macro OpenOffice/LibreOffice

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
martinbrait
Niveau 4
Niveau 4
Messages : 55
Enregistré le : ven. 06 mars 2009 17:17
Status : Hors ligne

[R] Lancer macro OpenOffice/LibreOffice

#1

Message par martinbrait »

Bonjour !

Je souhaiterai lancer une macro openoffice "extrairepages",
qui se charge d'extraire les images d'un fichier pdf, sous sdraw,
afin d'en faire une utilisation particulière par la suite.

Je n'arrive pas à lancer la macro.
Je me souviens qu'on pouvait réaliser cette prouesse sous Excel,
notamment via la librairie autoit_excel.


Y a t'il un moyen direct de lancer la macro, sans passer
par des simultations d'appuis de touches sur le clavier ?


Voici ce que j'ai écris.

Code : Tout sélectionner

    ShellExecute("C:\Program Files\LibreOffice 4\program\sdraw.exe","C:\pdf_to_jpg\phase1\foorv.pdf","ExtrairePages")

Merci d'avance pour votre aide !
Modifié en dernier par martinbrait le lun. 09 nov. 2015 20:12, modifié 3 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Lancer macro OpenOffice/LibreOffice

#2

Message par orax »

Pour exécuter des macros depuis la ligne de commandes j'ai vu ça ici (page 15)
Vous pouvez aussi démarrer OOo avec une macro depuis la ligne de commande, par exemple :

Code : Tout sélectionner

soffice macro:///some_global_library.some_module.some_method
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
martinbrait
Niveau 4
Niveau 4
Messages : 55
Enregistré le : ven. 06 mars 2009 17:17
Status : Hors ligne

Re: [..] Lancer macro OpenOffice/LibreOffice

#3

Message par martinbrait »

Euh, Orax !
Merci infiniment ! :wink:

Voilà la syntaxe qui fonctionne parfaitement.

côté autoit :

Code : Tout sélectionner

     

ShellExecute("C:\Program Files\LibreOffice 4\program\soffice.exe","le_chemin_de_mon/fichier.pdf")
;Ici, je dois prévoir un temps d'exécution pour ne pas lancer la macro avant que mon fichier soit ouvert.
Sleep(3000)
ShellExecute("C:\Program Files\LibreOffice 4\program\soffice.exe","macro:///Standard.BacAsable.SaySomething()")
 
côté libreoffice / openoffice

Code : Tout sélectionner

'Voici la macro que je colle dans ma librairie Standard, module BacAsable
'Listing 40 Our OOoBasic Sub
REM  *****  BASIC  *****
Sub SaySomething( )
    MsgBox "Hello from OOoBasic" 
End Sub
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [R] Lancer macro OpenOffice/LibreOffice

#4

Message par orax »

Ça me semble pas très bien le Sleep(). Ça ne marcherait pas ce code là ? Ou en mettant le nom du fichier à la fin peut-être...

Code : Tout sélectionner

ShellExecute(@ProgramFilesDir & "\LibreOffice 4\program\soffice.exe","le_chemin_de_mon/fichier.pdf macro:///Standard.BacAsable.SaySomething()")
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Répondre