2 messages in org.openoffice.fr.progRe: [prog] Lancer template + macro en...
FromSent OnAttachments
Matthieu CoutiereSep 9, 2005 10:56 am 
Francois GattoSep 9, 2005 10:28 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Lancer template + macro en ligne de commandeActions...
From:Francois Gatto (oo@volcar.org)
Date:Sep 9, 2005 10:28:49 pm
List:org.openoffice.fr.prog

Bonjour Mathieu,

Matthieu Coutiere a écrit :

Bonjour,

J'ai un document (liste.odt) qui contient une macro (remplir) que je veux lancer à partir d'une application externe (disons donc que je remplis une liste). En ligne de commande, je lance donc : soffice /chemin/liste.odt macro://liste/Standard.Liste.remplir(paramètres)

Mais alors, si l'utilisateur enregistre le document, il écrase le fichier "liste.odt" initial.

Pour contourner ce problème, il faudrait que j'utilise des templates. Malheureusement, quand j'ouvre un template, le nom du fichier est "Untitled_K", où K est inconnu a priori, si bien que la commande devrait être :

soffice /chemin/liste.ott macro://Untitled_K/Standard.Liste.remplir(paramètres)

mais je ne peux pas l'utiliser (puisque je ne connais pas K)

Y-a-t-il une solution simple ?

Suis-je containt à utiliser : soffice /chemin/liste.ott macro://chemin/liste.ott/Standard.Liste.remplir(paramètres)

Contraint, non. Invité, oui ;)

Et je pense que c'est la meilleur solution. En tous cas elle est aisé à mettre en place et à gérer.

(et d'ailleurs, ça ne marche pas car je dois mélanger les c:\documents and settings\moi et les /Standard.Liste... et je n'ai pas trouvé le bon format des slash)

Merci de vos idées ! MC

PS : pour l'instant, j'enregistre le fichier (pas template) sous un nom aléatoire. Ca résoud le problème mais ça n'est pas très joli...

Exemple (sous XP):

1°) soit un template nommé testmacrott.ott placé sous c:\ 2°) soit la macro maMacro() placée dans la branche Mes macros sous Standard dans Module1

Lancer le document avec appel de la macro à partir d'une commande telle que

"C:\Program Files\OpenOffice.org 1.9.128\program\soffice.exe" c:\testmacrott.ott macro:///Standard.Module1.maMacro()

NB : Tu noteras que les chemins systèmes sont classiques, mais que l'appel de la macro se réalise avec * macro:/// *

Tu pourras également regarder ce document qui présente le principe de lancement d'une macro via la ligne de commande (ou batch)

http://fr.openoffice.org/Documentation/How-to/Basic/batchmacro.sxw

Bonne continuation