HERBERS Excel-Forum - die Beispiele

Thema: Daten der Schaltflächen eines Menüs ermitteln

Home

Gruppe

Menue

Problem

Die Daten eines jeden Menüpunktes eines vorgegebenen Menüs werden aufgelistet.

Lösung
Geben Sie den Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.
StandardModule: Modul1

Sub GetMenu()
   Dim cmd As Object
   Dim iCol As Integer
   Dim sCntr As String
   sCntr = "Excel-Hilfen"
   On Error GoTo ERRORHANDLER
   Set cmd = Application.CommandBars("Worksheet Menu Bar").Controls(sCntr)
   iCol = 1
   Range("A1").Value = "Übergeordnet"
   Range("A2").Value = "Typ"
   Range("A3").Value = "Aufschrift"
   Range("A4").Value = "Makro"
   Columns(1).Font.Bold = True
   Call GetSubMenu(cmd, iCol)
   Exit Sub
ERRORHANDLER:
   MsgBox "Das Menü " & sCntr & " wurde nicht gefunden!"
End Sub

Private Sub GetSubMenu(cmd As Object, iCol As Integer)
   Dim cnt As CommandBarControl
   With cmd
      For Each cnt In .Controls
         iCol = iCol + 1
         Cells(1, iCol).Value = cnt.Parent.Name
         Cells(2, iCol).Value = TypeName(cnt)
         Cells(3, iCol).Value = cnt.Caption
         If TypeName(cnt) <> "CommandBarPopup" Then
            Cells(4, iCol).Value = cnt.OnAction
         Else
            Call GetSubMenu(cnt, iCol)
         End If
      Next cnt
   End With
End Sub

Beiträge aus dem Excel-Forum zu den Themen Menue und Control

ContentControl (WORD) in Excel Zelle schreiben Excel Form Kontextmenue geht nicht
Controls der Menüleiste ansprechen Zellen Kontextmenue ausfuehren
Dynamisches Kontextmenue Fehlermeldung in Schleife mit Controls
Makro für Pulldown Menue TabControl Programmieren
Userform alle Controls auf inaktivität prüfen Werte in Control einlesen
Menueeintrag einbinden ControlTipText und das &-Zeichen
Control Toolbox - Combo Box Controltiptext bei enabled = False
Controlsource greift auf falsche Arbeitsmappe zu Daten in eine msoControlDropdown einlesen
makro in kontextabhängiges Befehlsmenue Menue mit eigenen Macros versehen
OCX-Controls in Excel 97 verwenden change-ereignis bei dynamischen Controls / Teil 2
change-ereignis bei dynamisch erstellten Controls Entfernen eines Eintrages im Kontextmenue
Untermenue von Menueleiste Adresszeile/Formelzeile im Menue ist weg
Controls("Checkbox" & i).Value = True FaceId bei Untermenue möglich?
Menue Leiste ein ausblenden Menue nur erstellen, wenn noch nicht vorhadnen
CommandBarControl produziert Fehlermeldung Calendar Control 11.0
ControlSource Menuebar ausblenden
Controltiptext mehrzeilig 2003 Menuepunkte in 2007 finden
Zugriff msoControlDropdown in eigener Symbolleiste Kontexmenue
mehrere Controls per Schleife ansprechen Controltiptext
Controltiptext Controltiptext
Type:=msoControlButton, ID:=850) .FindControl(ID:=300011).Enabled = FALSE
Filter als Dropdown-Menue in neuem Tabellenblatt Controls nicht definiert
Menue Monthview-Controll Objekt Ansicht "fixieren"
Eigenes Formatierungsmenue ControlSource aus Aktiven TextBox auslesen
Funktion für mehrere Controls Auf Userform Controls zur Laufzeit erstellen?