Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Kontextmenü in der Entwicklungsumgebung Menüpunkt hinzufügen

Gruppe

Context

Problem

Wie kann ich dem Kontextmenü in der Entwicklungsumgebung einen Menüpunkt hinzufügen und diesem eine Ereignisprozedur zuweisen?

Lösung
Geben Sie den Ereigniscode in das Klassenmodul der Arbeitsmappe ein.

ClassModule: DieseArbeitsmappe

Dim mclsAddMenu As New clsAddMenu

Private Sub Workbook_Open()
   Call Zurueck
   mclsAddMenu.AddMenuItem
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Set mclsAddMenu = Nothing
   Call Zurueck
End Sub

StandardModule: basMain

Sub Zurueck()
   On Error Resume Next
   Application.VBE.CommandBars("Code Window") _
      .Controls("Meldung").Delete
   On Error GoTo 0
End Sub

ClassModule: clsAddMenu

Public WithEvents Meldung As VBIDE.CommandBarEvents

Public Sub AddMenuItem()
    Dim ctlTopMenu As CommandBarButton
    Set ctlTopMenu = Application.VBE.CommandBars("Code Window") _
        .Controls.Add(Type:=msoControlButton)
    ctlTopMenu.Caption = "Meldung"
    ctlTopMenu.Enabled = True
    Set Meldung = Application.VBE.Events.CommandBarEvents(ctlTopMenu)
End Sub

Private Sub Meldung_Click( _
   ByVal cmdBar As Object, handled As Boolean, Cancel As Boolean)
   MsgBox "Hallo Welt!"
End Sub

    

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