Einzelne Menüpunkte deaktivieren (ausblenden)

Hinweis: Dieses Makro funktioniert bis Excel 2003. Für die Version ab Excel 2007 finden Sie Programmier-Tipps zum Thema Menüband unter diesem Link.

Das Makro
Menu_ID_ermitteln gibt im Direktfernster die ID´s der einzelnen Menüpunkte aus, mit der das entsprechende Menü angesprochen werden kann.

Sub Menu_ID_ermitteln()
Dim Menüleiste As CommandBar
Dim i As Integer
Dim n As Integer

Set Menüleiste = CommandBars(1)
n = Menüleiste.Controls.Count
For i = 1 To n
Debug.Print Menüleiste.Controls(i).ID & _
" ---> " & Menüleiste.Controls(i).Caption
Next
End Sub


Die Ausgabe im Direktbereich sieht dann in etwa wie folgt aus:

30002 ---> &Datei
30003 ---> &Bearbeiten
30004 ---> &Ansicht
30005 ---> &Einfügen
30006 ---> Forma&t
30007 ---> E&xtras
30011 ---> Date&n
30083 ---> A&ktion
30009 ---> &Fenster
30010 ---> &?


Um einen Menüpunkt zu deaktivieren ändern Sie die ID-Nr. in die gewünschte
in dem im Direktbereich ausgegebene ID-Nr. ab. Dieser Menüpunkt wird nach Ausführung
des Makros 'ausblenden' deaktiviert.
Sub ausblenden()
Dim ctrl As CommandBarPopup
Set ctrl = Application.CommandBars.FindControl(ID:=30009) 'hier z. B. Fenster
If ctrl Is Nothing Then Else ctrl.Enabled = False
End Sub



Das Makro 'einblenden' aktiviert den gewünschten Menüpunkt wieder! Es ist entsprechend
wieder die gewünsche Menü-Id-Nr. anzugeben.
Sub einblenden()
Dim ctrl As CommandBarPopup
Set ctrl = Application.CommandBars.FindControl(ID:=30009) 'hier z. B. Fenster
If ctrl Is Nothing Then Else ctrl.Enabled = True
End Sub

 

Relevante Artikel

Projektanfrage stellen

Template Expert jPanel

Projektanfrage

Sie benötigen eine individuelle Auftrags-
programmierung oder benötigen
Unterstützung bei der Lösungsfindung?
Wir helfen gerne weiter!

  Nutzen Sie unser Anfrageformular
  Jetzt anrufen unter 0151 / 164 55 914
 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein. Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein. senden
  Weitere Informationen
Wir benutzen Cookies
Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.