11 messages in org.openoffice.fr.progRe: [prog] [Draw] collection de shapes
FromSent OnAttachments
Agnès SimonetDec 4, 2004 2:10 pm 
Laurent GodardDec 4, 2004 11:04 pm 
Laurent GodardDec 4, 2004 11:11 pm 
Bernard MarcellyDec 5, 2004 2:30 am 
Agnès SimonetDec 5, 2004 6:04 am 
Agnès SimonetDec 5, 2004 6:46 am 
Laurent GodardDec 5, 2004 7:43 am 
Agnès SimonetDec 5, 2004 9:28 am 
Laurent GodardDec 5, 2004 9:48 am 
Agnès SimonetDec 5, 2004 12:23 pm 
Bernard MarcellyDec 6, 2004 2:50 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] [Draw] collection de shapesActions...
From:Bernard Marcelly (marc@club-internet.fr)
Date:Dec 6, 2004 2:50:52 am
List:org.openoffice.fr.prog

At 2004-12-05 21:23, Agnès Simonet wrote:

sur quoi pointe oDoc ? si c'est thiscomponent, il peut y avoir mic-mac ....

Pile poil ! Et pourquoi micmac ?

car tu laisses OOo decider quel est le thisComponent Quand tu es dans l'EDI, il peut arriver que le thisComponent represente justement l'EDI (mais pas toujours) C'est comme quand tu bouble sur les controllers, tu recuperes l'EDI

Aie, j'avais compris tout le contraire. Je cite ('l'API presque sans peine' parce que je l'ai sous la souris) : " Si vous voulez exécuter vos macros dans l'EDI, et profiter de ses facilités de débogage, utilisez donc ThisComponent"

Sur quoi faut-il pointer alors ?

Petite clarification. Ecris dans soffice une macro avec cette instruction : Msgbox thisComponent.URL Ouvres plusieurs documents simultanément (writer, ou/et calc, draw, etc). Reprends l'EDI et lances la macro : elle affiche l'URL du document OOo dont la fenêtre est en haut de la pile. Mets en premier-plan la fenêtre d'un autre document OOo, réaffiches l'EDI et relances la macro : thisComponent.URL indique maintenant ce dernier document. Fermes tous les documents, en laissant la fenêtre EDI. Relances la macro : erreur Basic.

Conclusion : - thisComponent ne pointe jamais sur l'EDI (contrairement à StarDesktop.CurrentComponent) mais sur un des documents ouverts. - thisComponent pointe sur le document OOo dont la fenêtre est la plus haute dans la pile des fenêtres. - pour ne pas risquer de changer de document suite à une manipulation de l'utilisateur, il suffit d'écrire monDocument1 = thisComponent et d'utiliser monDocument1 chaque fois qu'on a besoin de le référencer ensuite, au lieu de répéter thisComponent.

Un moyen d'utilser thiscomponent ets de toujours lancer la macro depuis le document qu'il est censé représenter et non pas depuis l'EDI

effectivement, puisqu'alors on utilise la fenêtre du document.

Bonne journée Bernard