Bonjour Philippe,
Message de Philippe Allart date 2007-05-21 10:42 :
Bonjour,
J'ai associé une macro X à l'évènement "lors de la création du document".
Dans cette macro j'ai utilisé thisComponent pour accéder au document
courant.
Ca a toujours bien marché, jusqu'à ce que j'essaie de créer le document
à partir d'une macro Y accessible via une barre d'outils. Dans ce cas,
s'il y a déjà un document ouvert, c'est celui-là qui est retourné par
thisComponent dans la macro X.
Je pense que la macro X est dans "Mes Macros". Si la macro X est dans le
document thisComponent devrait renvoyer toujours ce document.
Eventuellement, mettre dans le document une macro W qui appelle la macro
X de "Mes Macros".
D'autre part il vaut mieux utiliser une variable intermédiaire:
monDoc = thisComponent
plutôt que de réutiliser thisComponent à chaque fois. En effet
thisComponent est une fonction Basic, pas un objet fixe.
Mais ce n'est pas encore tout à fait satisfaisant.
Si la macro Y fait un msgBox, on se retrouve avec deux macros actives en
même temps: la macro Y qui a ouvert le document et qui attend une action
de l'utilisateur, et la macro X qui a été lancée automatiquement et qui,
en l'occurrence, affiche une boite de dialogue.
la msgBox est verrouillée, et donc Y stoppée, jusqu'à ce que le macro X
soit terminée.
Etreinte mortelle...
Rien n'est prévu dans Basic pour les exécutions simultanées de macros.
Cela peut engendrer des problèmes, comme ici.
Bernard
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]