macros avec Oo

Le
Jacques Trepp
Bonjour,
j'ai réussi à exécuter avec windev (10) des macros réalisées via open
office (3.2.1) sans trop de problèmes.
Je bute sur une macro qui s'exécute bizarrement.
J'enregistre ma macro de la façon suivante:
- début d'enregistrement.

Insertion..En-tête..standard
Insertion..Image..A partir du fichier..entete.jpg
clic dans le corps du document pour "sortir" de cette séquence.
Je continue avec :
Insertion..Pied-de-page..standard
Insertion..Image..A partir du fichier..pied.jpg
cic dans le corps du document.

Fin d'enregistrement et sauvegarde de la macro sous le nom entete.

Jusque là, j'ai bien un document vierge contenant une en-tête et un
pied de page.

Si j'exécute cette macro sur un document vierge, l'en-tête seule
s'affiche :(


Sous windev10, j'ai bidouillé une procédure pour excuter la macro avec
le code suivant :

PROCEDURE Exécute_Macro(NomMacro="trepp")
macomm est une chaîne
macomm = Caract(34)+"C:Program FilesOpenOffice.org
3programsoffice.exe"+Caract(34)
+" -invisible
"+Caract(34)+"macro:///Standard.Module1."+NomMacro+"()"+Caract(34)
CMDos:CommandLine_Let(macomm)
CMDos:ExecuteCommand()


Le résultat est le même Si quelqu'un a un avis, je prend. :)
cordialement
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques Trepp
Le #23010371
Le 11/01/2011, Jacques Trepp a supposé :
Bonjour,
j'ai réussi à exécuter avec windev (10) des macros réalisées via open office
(3.2.1) sans trop de problèmes.
Je bute sur une macro qui s'exécute bizarrement.
J'enregistre ma macro de la façon suivante:
- début d'enregistrement.

Insertion..En-tête..standard
Insertion..Image..A partir du fichier..entete.jpg
clic dans le corps du document pour "sortir" de cette séquence.
Je continue avec :
Insertion..Pied-de-page..standard
Insertion..Image..A partir du fichier..pied.jpg
cic dans le corps du document.

Fin d'enregistrement et sauvegarde de la macro sous le nom entete.

Jusque là, j'ai bien un document vierge contenant une en-tête et un pied de
page.

Si j'exécute cette macro sur un document vierge, l'en-tête seule s'affiche :(


Sous windev10, j'ai bidouillé une procédure pour excuter la macro avec le
code suivant :

PROCEDURE Exécute_Macro(NomMacro="trepp")
macomm est une chaîne
macomm = Caract(34)+"C:Program FilesOpenOffice.org
3programsoffice.exe"+Caract(34)...
+" -invisible
"+Caract(34)+"macro:///Standard.Module1."+NomMacro+"()"+Caract(34)
CMDos:CommandLine_Let(macomm)
CMDos:ExecuteCommand()


Le résultat est le même... Si quelqu'un a un avis, je prend. :)
cordialement



Je m'auto-répond. Il faut appuyer sur Esc pour sortir de la commande en
cours.
Désolé :)
Jacques Trepp
Le #23010481
Jacques Trepp a formulé ce mardi :
Le 11/01/2011, Jacques Trepp a supposé :
Bonjour,
j'ai réussi à exécuter avec windev (10) des macros réalisées via open
office (3.2.1) sans trop de problèmes.
Je bute sur une macro qui s'exécute bizarrement.
J'enregistre ma macro de la façon suivante:
- début d'enregistrement.

Insertion..En-tête..standard
Insertion..Image..A partir du fichier..entete.jpg
clic dans le corps du document pour "sortir" de cette séquence.
Je continue avec :
Insertion..Pied-de-page..standard
Insertion..Image..A partir du fichier..pied.jpg
cic dans le corps du document.

Fin d'enregistrement et sauvegarde de la macro sous le nom entete.

Jusque là, j'ai bien un document vierge contenant une en-tête et un pied de
page.

Si j'exécute cette macro sur un document vierge, l'en-tête seule s'affiche
:(


Sous windev10, j'ai bidouillé une procédure pour excuter la macro avec le
code suivant :

PROCEDURE Exécute_Macro(NomMacro="entete")
macomm est une chaîne
macomm = Caract(34)+"C:Program FilesOpenOffice.org
3programsoffice.exe"+Caract(34)...
+" -invisible
"+Caract(34)+"macro:///Standard.Module1."+NomMacro+"()"+Caract(34)
CMDos:CommandLine_Let(macomm)
CMDos:ExecuteCommand()


Le résultat est le même... Si quelqu'un a un avis, je prend. :)
cordialement



Je m'auto-répond. Il faut appuyer sur Esc pour sortir de la commande en
cours.
Désolé :)




Bon, j'ai quand même avancé : lexecution de la macro est Pk.
Par contre, l'exécution avec windev pose problème :
PROCEDURE Exécute_Macro(NomMacro="entete")
macomm est une chaîne
macomm = Caract(34)+"C:Program FilesOpenOffice.org
3programsoffice.exe"+Caract(34)...
+" -invisible
"+Caract(34)+"macro:///Standard.Module1."+NomMacro+"()"+Caract(34)
CMDos:CommandLine_Let(macomm)
CMDos:ExecuteCommand()

l'execution plante. le fichier cmd aussi :
voici son contenu :

"C:Program FilesOpenOffice.org 3programsoffice.exe" -invisible
"macro:///Standard.Module1.entete()"

Je dois avoir une mauvaise syntaxe dans le fichier cmd.
D'autres macros fonctionnent depuis long temps...

Celle-ci, en l'occurrence :
sub trepp
rem
----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem
----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem
----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Text"
args1(0).Value = "ceci est une macro"

dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args1())

rem
----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertPara", "", 0, Array())

rem
----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Text"
args3(0).Value = "que je vais imprimer"

dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args3())

rem
----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0,
Array())

rem
----------------------------------------------------------------------
dim args5(1) as new com.sun.star.beans.PropertyValue
args5(0).Name = "URL"
args5(0).Value = "file:///C:/Users/trepp/Documents/MONDOCUMENTAMOI.doc"
args5(1).Name = "FilterName"
args5(1).Value = "MS Word 97"

dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args5())


end sub

marche très bien avec la procédure utilisée.

Mystère ...
Publicité
Poster une réponse
Anonyme