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]



Répondre à