Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Menü nur in der zugehörigen Arbeitsmappe sichtbar

Gruppe

PopUp

Problem

Wie erreiche ich, daß ein zu einer bestimmten Arbeitsmappe gehöriges Menü nur dann sichtbar ist, wenn diese Arbeitsmappe die aktive ist?

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

ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call Zurueck
End Sub

Private Sub Workbook_Open()
   Dim oPopUp As CommandBarPopup
   Call Zurueck
   Set oPopUp = Application.CommandBars( _
      "Worksheet Menu Bar").Controls.Add(msocontrolpopup)
   oPopUp.Caption = "MeinMenue"
   oPopUp.Visible = True
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Excel.Window)
    On Error Resume Next
    Application.CommandBars(1).Controls("MeinMenue").Visible = True
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Excel.Window)
    On Error Resume Next
    Application.CommandBars(1).Controls("MeinMenue").Visible = False
End Sub

StandardModule: basMain

Sub Zurueck()
   On Error GoTo ERRORHANDLER
   Application.CommandBars("Worksheet Menu Bar") _
      .Controls("MeinMenue").Delete
ERRORHANDLER:
End Sub

    

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