VBA: Menüs ändern und erzeugen

Benutzerdefinierte Menüs, ganz nach Wunsch!

Ersten Kommentar schreiben
Stand: 4. Mai 2011

Menü erstellen

Benutzerdefinierte Menüs lassen sich in allen MS Office-Programmen einfach mit der Maus im Dialog zusammenstellen und sind dann fertig. Fertig? Nein, denn Lorenz Hölscher zeigt Ihnen, wie Sie da mit ein wenig VBA-Programmierung noch viel mehr herausholen.

Die folgenden Beispiele wurden in Word erstellt, funktionieren aber mit geringfügigen Änderungen (ThisDocument heißt in Excel ThisWorkbook oder in Access CodeDB) auch in den übrigen MS Office-Programmen.

Menü-Titel erstellen

Auch wenn sich ein einfaches Menü sehr schnell im SymbolleistenAnpassen-Dialog (Ansicht/Symbolleisten/Anpassen) erstellen lässt, bietet es doch Vorteile, schon dies per VBA zu erledigen. Zum einen lernen Sie dabei alle Strukturen und Befehle kennen, die Sie anschließend ohnehin benötigen. Zum anderen stehen Ihnen damit Möglichkeiten offen, die Sie sonst nicht hätten.

Der folgende Code fügt in der Standard-Menüleiste einen neuen Menütitel namens "Spezial" ein:

Sub MacheMenue()
      Dim cbpSpezial As CommandBarPopup

      CustomizationContext = ThisDocument
      Set cbpSpezial = Application.CommandBars("Menu bar").Controls.Add(msoControlPopup)

      With cbpSpezial
	 .Caption = "Spezial"
	 .BeginGroup = True
      End With
End Sub

Dabei müssen Sie beachten, dass ein Menütitel kein Menüeintrag (Typ msoControlButton bzw. Objekt CommandBarPopup) wie andere ist, sondern die Fähigkeit zum Ausklappen (Typ msoControlPopup bzw. Objekt CommandBarButton) braucht.

Außerdem wird der Menütitel technisch korrekt nicht der Symbolleiste selbst (Commandbars("Menu bar")), sondern ihrer Controls-Auflistung hinzugefügt. Das wird oft verwechselt und macht die Programmierung scheinbar unverständlich. Auch ein später noch hinzukommendes Untermenü verhält sich genauso, nur eben ein paar Ebenen tiefer.

Als Mitglied können Sie diesen Beitrag weiterlesen!

Werden Sie Mitglied und testen Sie akademie.de 14 Tage lang kostenlos!

In den ersten 14 Tagen haben Sie Zugriff auf alle Inhalte auf akademie.de, außer Downloads. Sie können in dieser Zeit ohne Angabe von Gründen stornieren. Eine E-Mail an service@akademie.de genügt. Nur wenn Sie Mitglied bleiben, wird der Mitgliedsbeitrag nach Ende der 14tägigen Stornofrist abgebucht.

Ich bin bereits Mitglied
Jetzt Mitglied werden und akademie.de 14 Tage kostenlos testen
Ich entscheide mich für folgende Zahlungsweise:
14 Tage Stornorecht:
Ich kann meine Mitgliedschaft in den ersten 14 Tagen jederzeit formlos stornieren, z.B. per E-Mail an service@akademie.de.

Inhalt

Downloads zu diesem Beitrag

Newsletter abonnieren