J’ai une diapo Impress avec plusieurs images auxquelles j’ai donné des noms. Un clique sur une image déclenche une macro et j’ai besoin de savoir quelle image a déclenché la macro. Je m’arrache les cheveux à trouver l’élément actif mais je ne trouve nul part.
C’est tout bête et ça fait une semaine que je cherche ! Quelqu’un peut-il m’aider?
J’ai trouver la diapo active dans ThisComponent.Current Controller, mai ThisComponent.Current Selection est Null.
Merci
Bonjour
Désolé, je n’ai pas le temps de creuser (il semble que l’appel de la macro via interaction ne permet pas de remonter à l’événement). Cela dit une solution simple est de créer des procédures par image qui ne serviront qu’à passer l’information à la macro principale. Par exemple :
Sub Img1()
Img("mon image 1")
End Sub
Sub Img2()
Img("mon image 2")
End Sub
sub Img(sImgName)
'Traitement principal'
print sImgName
end sub
Cordialement
Le problème est qu’il faut autant de sous-routines que d’images, ce qui est rédhibitoire car pour ajouter une image il faudra modifier la macro. N’y a t-il vraiment aucun moyen de déterminer quelle image a déclenché la macro?
Merci.
Effectivement c’est une solution. Mais je m’étonne qu’il n’y ait pas une solution simple de type “getActiveCell” en Calc.
Mais ça me permettrait de réaliser mon projet.
Y a-t-il d’autres idées?
Je précise qu’avec
oImage = oDiapoActive.GetbyIndex(j) ’ et puis
sNom = oImage.name
J’arrive à récupérer les noms des images de la diapo, mais je n’arrive pas à savoir quelle est l’image sélectionnée.
Merci à tous