2009-01-30 5 views
0

J'ai utilisé ce code vba dans le module ThisWorkbook pour désactiver le menu contextuel dans un classeur Excel.Cliquez avec le bouton droit de la souris sur les onglets de feuille désactivés dans Excel

Private Sub Workbook_Activate() 
    With Application.CommandBars.FindControl(ID:=847) 
     .Visible = False 
    End With 
End Sub 

Private Sub Workbook_Deactivate() 
    With Application.CommandBars.FindControl(ID:=847) 
     .Visible = True 
    End With 
End Sub 

Fonctionne comme un charme.
Le problème est, je ne peux pas accéder au menu clic droit sur les onglets dans n'importe quel classeur maintenant. La deuxième partie du code est censé le rallumer, je suppose? Pourtant, ce n'est pas le cas.

Même lorsque je supprime complètement le code, aucun classeur, pas même un nouveau, n'a de menu lorsque je clique à droite sur l'un des onglets.

Existe-t-il un code vba général qui "réinitialise" Excel peut-être? Ou une chose générale "activer tous les menus"?

REVISION: Ce code affiché ici ne désactive pas le menu de droite, il supprime l'option "supprimer" de ce menu spécifique.

Répondre

4

omg

Application.CommandBars("Ply").Enabled = True 

-.-
Commencé googler différents mots-clés après la dernière édition et BAM.

+0

Ok, bon pour vous et pour nous tous! Maintenant, marquez-la comme la bonne réponse, s'il vous plaît. – jpinto3912

2

Retard encore comme d'habitude, mais abordé avec le même problème aujourd'hui. Voici la solution pour récupérer votre fonctionnalité de clic droit:

Option Explicit 
' 
Sub tester() 
    ' 
    Dim cBar As CommandBar 
    ' 
    For Each cBar In CommandBars 
     Debug.Print cBar.Name 
     If (cBar.Type = msoBarTypePopup) Then cBar.Enabled = True 
    Next 
End Sub 
+0

Cette macro a sauvé le jour pour moi. Maintenant, j'ai juste besoin de travailler sur ce qui a volé la fonction du clic droit en premier lieu! – Xcheque

0

Notez également que ce qui suit existe également. Certaines macros du travail les ont toutes désactivées dans mon Excel.

Application.CommandBars("Cell").Enabled = True 
Application.CommandBars("Row").Enabled = True 
Application.CommandBars("Column").Enabled = True 
+0

Bienvenue dans Stack Overflow. Merci pour votre contribution, mais cela ne répond pas vraiment à la question. Vous pouvez trouver des suggestions pour créer de bonnes réponses sur la page d'aide [réponse]. – jerry

Questions connexes