Activer/désactiver une commande de menu

Contenu du snippet

On peut souhaiter désactiver la commande d'un menu pour forcer l'utilisateur à utiliser une autre commande dans le cadre d'un document personnalisé.
Pour cela il suffit de connaitre l'identifiant de la commande à désactiver.
Pour connaitre l'identifiant utilisez le script 1 et adaptez le à votre besoin.
Un fois l'identifiant connu, utilisez le script 2 à placer dans la procédure Document_Open() du module ThisDocument.

Source / Exemple :


' Script 1 
Sub Script1() 
Dim mcd As CommandBar 
Dim mmm 
Dim nnn 
Set mcd = Application.CommandBars.ActiveMenuBar 
For Each mmm In mcd.Controls 
    ' Si menu Outils 
    If mmm.ID = 30007 Then 
        ' affiche toutes les commandes 
        For Each nnn In mmm.Controls 
            Debug.Print nnn.ID & ":" & nnn.Caption & "/" & nnn.Type 
        Next 
    End If 
Next 
Set mcd = Nothing 
End Sub 

'Script 2 
'Désactive la commande Macro du menu Outils 
Dim CtlMacro As CommandBarControl 
    Set CtlMacro = CommandBars.FindControl(Type:=msoControlPopup, ID:=30017) 
    If Not CtlMacro Is Nothing Then CtlMacro.Enabled = Not CtlMacro.Enabled 
    Set CtlMacro = Nothing

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.