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.
Dans ce cas toujours, si on utilise un bouton dans le nouveau document
pour appeler la macro X, c'est toujours le premier document qui est
retourné. La situation se rétablit, par exemple, en lançant l'EDI.
J'ai résolu le problème en remplaçant thisComponent par
StarDesktop.CurrentComponent.
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.
Mais dans ce cas, dans la macro X, starDesktop.CurrentComponent
recommence à renvoyer le premier document. Je suppose que ça s'explique
du fait que msgBox est lancé depuis la macro Y elle même lancée quand le
premier document avait le focus.
Tout celà pour amener une question: comment peut-on faire pour accéder
de manière fiable au document courant dans une macro lancée lors de la
création de ce document?
La macro est lancée en parallèlle *pendant* l'exécution de
StarDesktop.LoadComponentFromURL, et le document retourné n'est
accessible depuis basic *qu'après* son exécution.
merci d'avance pour vos suggestions,
A+
ph.
--
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]