LÖSUNGEN

Dynamische Menüs

Menü dynamisch aufrufen

Die tatsächliche Aktion wird die Prozedur ErzeugeMenue sein, welche Sie entweder in den Steuerelement-Eigenschaften wie in Bild 2 ändern oder per VBA-Code wie in Listing 2 erzeugen. Damit der Code funktioniert, muss

  • die Symbolleiste als Dynamisch benannt und der Menütitel mit &Layouts beschriftet sein,

  • der Prozedur-Rumpf für ErzeugeMenue vorhanden sein und

  • unter Extras Verweise die Bibliothek Microsoft Office 11.0 Object Library (beziehungsweise die entsprechende Versionsnummer) eingebunden sein.

Option Compare Database
Option Explicit
Dim booGefunden As Boolean
Const conMenueName = "Dynamisch"
Const conMenueTitel = "&Layouts"
Sub EinmalMenueVorbereiten()
Dim barMenu As CommandBar 'MS-Office Bibliothek einbinden!
Set barMenu = CommandBars(conMenueName)
barMenu.Controls(conMenueTitel).OnAction = "ErzeugeMenue"
End Sub
Sub ErzeugeMenue
'noch leer
End Sub

Damit kennen Sie auch schon wesentliche Teile des notwendigen Codes, um die übrigen Funktionalitäten für ein dynamisches Menü programmieren zu können.

Die beiden modul-öffentlichen Konstanten conMenueName für den Symbolleistennamen und conMenueTitel für den Menütitel erleichtern den Zugriff in den Prozeduren und vermeiden Schreibfehler.