Einen Menü-Punkt per VBA aufrufen

Einen Menü-Punkt per VBA aufrufen

Funktion

Es ist möglich mittels VBA-Code von ausserhalb der IDE deren Menüpunkte aufzurufen. Im folgenden Beispiel wird dadurch der Dialog für die Digitale Signatur gestartet.

Code

Public Sub StartVBIDEMenu()

Dim ThisVBE As VBIDE.VBE Dim cb As CommandBar Dim menu As CommandBarControl Dim cbc As CommandBarControl
Set ThisVBE = Application.VBE Set cb = VBE.CommandBars.ActiveMenuBar Set menu = cb.Controls(7) 'Extras Set cbc = menu.Controls(5) 'Digitale Signatur...
cbc.Execute
Set cbc = Nothing Set menu = Nothing Set ThisVBE = Nothing
End Sub

Beschreibung

Der Code arbeitet sich Stück für Stück vor. Als erstes wird ein Verweis auf die VB-IDE ermittelt. Danach wird ein Verweis auf die aktuelle Menüleiste gespeichert. Im nächsten Schritt wird ein Verweis auf das gewünschte Menü gespeichert. Danach wird ein Verweis auf den gesuchten Menüpunkt gespeichert. Der Menüpunkt wird schlussendlich mit der Methode Execute ausgeführt.

Verweise

Damit dieser Code funktioniert, sind folgende Verweise erforderlich: