Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

In der Arbeitsblattmenüleiste ein Menü "Dateiliste" anlegen

Gruppe

PopUp

Problem

Beim Öffnen der Arbeitsmappe soll ein Menü Dateiliste mit einer Dateiauswahl angelegt und beim Schließen der Arbeitsmappe wieder gelöscht werden.

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

ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   With Application.CommandBars("Worksheet Menu Bar")
      On Error Resume Next
      .Controls("Dateiliste").Delete
      On Error GoTo 0
   End With
End Sub

Private Sub Workbook_Open()
   Dim oPopUp As CommandBarPopup
   Dim oBtn As CommandBarButton
   With Application.CommandBars("Worksheet Menu Bar")
      On Error Resume Next
      .Controls("Dateiliste").Delete
      On Error GoTo 0
      Set oPopUp = .Controls.Add( _
         Type:=msoControlPopup, _
         before:=.Controls.Count, _
         temporary:=True)
   End With
   oPopUp.Caption = "Dateiliste"
   Set oBtn = oPopUp.Controls.Add
   With oBtn
      .Caption = "Datei A"
      .OnAction = "DateiA"
      .Style = msoButtonCaption
   End With
   Set oBtn = oPopUp.Controls.Add
   With oBtn
      .Caption = "Datei B"
      .OnAction = "DateiB"
      .Style = msoButtonCaption
   End With
   Set oBtn = oPopUp.Controls.Add
   With oBtn
      .Caption = "Datei C"
      .OnAction = "DateiC"
      .Style = msoButtonCaption
   End With
End Sub

StandardModule: basMain

Sub DateiA()
   Workbooks.Open "c:\test\test1.xls"
End Sub

Sub DateiB()
   Workbooks.Open "c:\test\test2.xls"
End Sub

Sub DateiC()
   Workbooks.Open "c:\test\test3.xls"
End Sub

    

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