5 messages in org.openoffice.fr.progRe: [prog] Calc : execution macros al...
FromSent OnAttachments
jac...@free.frFeb 26, 2005 2:26 am 
Bernard MarcellyFeb 26, 2005 6:20 am 
Jacques Le MoulecFeb 26, 2005 9:34 am 
Bernard MarcellyFeb 26, 2005 10:39 am 
Jacques LE MOULECFeb 26, 2005 11:24 am 
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] Calc : execution macros aleatoire ?Actions...
From:Jacques Le Moulec (jac@free.fr)
Date:Feb 26, 2005 9:34:49 am
List:org.openoffice.fr.prog

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" <marc@club-internet.fr> To: <pr@fr.openoffice.org> Sent: Saturday, February 26, 2005 3:20 PM Subject: Re: [prog] Calc : execution macros aleatoire ?

Le 2005-02-26 11:26, jac@free.fr 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