[HS][Basic]Identifier le raccourci qui a lancé une macro

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1386
Inscription : 18 janv. 2008 11:02
Localisation : Val de Marne

[HS][Basic]Identifier le raccourci qui a lancé une macro

Message par jeanmi2403 »

Bonjour,
Un collègue souhaite lancer une seule macro à partir de plusieurs raccourcis clavier et donc prendre des décisions en fonction du raccourci utilisé, ceci pour ne pas multiplier des macros quasiment identiques.
Je lui ai proposé un raccourci qui lance une boîte de dialogue, mais ça ne semble pas lui convenir.
Une macro lancée depuis un raccourci ne reçoit pas d'événement, donc je ne pense pas que ce soit possible, à part en mettant en place un Listener, mais cette solution me semble bien compliquée.
 Ajout : En fait, il n'est pas possible d'identifier quel raccourci, ni quelle icône de la barre d'outils a lancé la macro.  
A plus,
Dernière modification par jeanmi2403 le 27 mai 2023 16:33, modifié 3 fois.
Jean-Michel
LibO 7.4.6 et AoO 4.1.14 sur Windows 10 x64, Windows 11 & Ubuntu 22.04
LibO 7.5 sur OpenSuse & Linux MX
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 24464
Inscription : 03 mars 2006 09:45
Localisation : 127.0.0.1
Contact :

Re: [Basic]Identifier le raccourci qui a lancé une macro

Message par Dude »

Salut,
jeanmi2403 a écrit : 20 mai 2023 16:58 à part en mettant en place un Listener, mais cette solution me semble bien compliquée.
Oui, c'est un marteau pour écraser une mouche.
Interception via les interfaces com.sun.star.frame.XDispatchProviderInterceptor et com.sun.star.frame.XDispatch
Pièces jointes
_ecoute_menu.ods
(10.86 Kio) Téléchargé 6 fois
Avatar de l’utilisateur
ddorange
Membre hOOnoraire
Membre hOOnoraire
Messages : 112
Inscription : 23 déc. 2015 20:49
Localisation : Annecy
Contact :

Re: [Basic]Identifier le raccourci qui a lancé une macro

Message par ddorange »

Bonjour,
S’il y a par exemple trois raccourcis claviers, le plus simple c’est que chacun commande une macro distincte et que chacune de ces macros lance la macro principale avec un paramètre.

Code : Tout sélectionner

Sub Macro1
   Call MainMacro(1)
End sub

Sub MainMacro(iRc as integer)
   Select Case iRc
        Case 1
        ………
        Case 2
        ……..
        Case 3
        ………
   End Select 
   blabla suite ….
End Sub
Cordialement.
LibreOffice 7.5 et OpenOffice 4.1.14 sous Ubuntu 22.10, Windows 7, Windows 10, MacOs Monterey
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1386
Inscription : 18 janv. 2008 11:02
Localisation : Val de Marne

Re: [Basic]Identifier le raccourci qui a lancé une macro

Message par jeanmi2403 »

Salut,
ddorange a écrit : 25 mai 2023 13:47 chacun commande une macro distincte et que chacune de ces macros lance la macro principale avec un paramètre.
j'avais, bien entendu, proposé cette solution à plusieurs lanceurs.
J'ai posé cette question par curiosité...
Cordialement,
Jean-Michel
LibO 7.4.6 et AoO 4.1.14 sur Windows 10 x64, Windows 11 & Ubuntu 22.04
LibO 7.5 sur OpenSuse & Linux MX
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 24464
Inscription : 03 mars 2006 09:45
Localisation : 127.0.0.1
Contact :

Re: [Basic]Identifier le raccourci qui a lancé une macro

Message par Dude »

jeanmi2403 a écrit : 25 mai 2023 14:32 J'ai posé cette question par curiosité...
Et je t'ai répondu.
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1386
Inscription : 18 janv. 2008 11:02
Localisation : Val de Marne

Re: [Basic]Identifier le raccourci qui a lancé une macro

Message par jeanmi2403 »

Bonsoir,
Dude a écrit : 24 mai 2023 15:52 Oui, c'est un marteau pour écraser une mouche.
Je suis bien d'accord.
Dude a écrit : 26 mai 2023 10:28
jeanmi2403 a écrit : 25 mai 2023 14:32 J'ai posé cette question par curiosité...
Et je t'ai répondu.
Merci.
J'ai étudié attentivement (ça m'a pris un certain temps) ta proposition. Intéressant mais complexe.
Ça effraie un peu au lancement de l'écoute de voir 300 lignes se remplir....
Et j'ai fini par trouver, simplement en écoutant le clavier. Mais ça revient au même que la solution à plusieurs lanceurs.
Ça m'a toutefois permis de comprendre les "écouteurs".
A plus,
Jean-Michel
LibO 7.4.6 et AoO 4.1.14 sur Windows 10 x64, Windows 11 & Ubuntu 22.04
LibO 7.5 sur OpenSuse & Linux MX
Répondre