Rebonjour,
Ci-apres une de mes 4 macros "elementaires" - les 4 sont quasi identiques :
sub EditionCalculDPU
dim document as object, dispatcher as object, PosFeuille As Object, Aediter()
dim args1(0) as new com.sun.star.beans.PropertyValue
dim args4(5) as new com.sun.star.beans.PropertyValue
document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
PosFeuille = ThisComponent.Sheets.getByName("calculDPU").getCellRangeByName("A1")
ThisComponent.getCurrentController.select(PosFeuille)
args1(0).Name = "ToPoint" args1(0).Value = "A5:K35" dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1()) dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
args1(0).Name = "ToPoint" args1(0).Value = "A44" dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
args4(0).Name = "Flags" : args4(0).Value = "A" args4(1).Name = "FormulaCommand" : args4(1).Value = 0 args4(2).Name = "SkipEmptyCells" : args4(2).Value = false args4(3).Name = "Transpose" : args4(3).Value = false args4(4).Name = "AsLink" : args4(4).Value = true args4(5).Name = "MoveMode" : args4(5).Value = 4 dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args4())
ThisComponent.Print(Aediter())
args1(0).Name = "Flags" args1(0).Value = "A" dispatcher.executeDispatch(document, ".uno:Delete", "", 0, args1())
args1(0).Name = "BackgroundColor" args1(0).Value = 11776947 dispatcher.executeDispatch(document, ".uno:BackgroundColor", "", 0, args1())
end sub
NB : j'ai fait le meme type de manip (en plus etoffe) sous Excel avant de m'essayer a OOo - ça marche sans pb, meme avec 20 ou 25 feuilles a editer d'un seul coup (on s'en sert professionnellement regulierement, donc il faut que ça fonctionne bien d'autant que j'ai des collegues non inities a la programmation / developpement).
C'est pourquoi je me demandais si c'etait lie a OOo ...
Merci de voir si c'est moi qui m'y prends mal ...
J. Le Moulec
----- Original Message ----- From: "Bernard Marcelly" <[EMAIL PROTECTED]>
To: <prog@fr.openoffice.org>
Sent: Saturday, February 26, 2005 3:20 PM
Subject: Re: [prog] Calc : execution macros aleatoire ?
Le 2005-02-26 11:26, [EMAIL PROTECTED] a écrit :Bonjour,
Je travaille sous Win XP et OOo version 1.1.4.
J'ai un doc Calc en 4 feuilles.
Pour imprimer chaque feuille, j'ai cree 4 macros (1 par feuille) pour mettre en
forme (enleve notamment les couleurs) avant de lancer l'impression de la
feuille.
J'ai affecte un bouton à chaque macro. Jusque la tout fonctionne bien - je veux
dire l'impression separee des feuilles.
Par contre, quand j'ai cree une macro pour imprimer les 4 feuilles "en un seul
clic" - une macro qui appelle les 4 autres macros "elementaires" en fait, la il
se passe des choses bizarres : parfois je n'obtiens que 2 feuilles imprimees au
lieu des 4 attendues, parfois 3, parfois meme 4 ... de façon semble-t-il
aleatoire !
D'autant que si j'execute cette derniere macro en "pas à pas" j'obtiens toujours
le bon resultat à savoir mes 4 feuilles.
Tu donnes plusieurs ordres d'impression successifs sans laisser le temps au système de finir la mise en file d'attente. En pas à pas, tu lui laisses le temps. Le temps de mise en file d'attente est variable, selon la charge du système et la quantité à imprimer.
La solution dépend du codage que tu utilises. Peux-tu nous en montrer un extrait significatif ?
Bernard
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]