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]

Répondre à