Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Eigene Symbolleiste nur beim Schließen löschen

Gruppe

Bar

Problem

Wie kann ich veranlassen, daß bei einer Verneinung der Rückfrage, ob eine Arbeitsmappe tatsächlich geschlossen werden soll, die beim Schließen zu löschende benutzerdefinierte Symbolleiste nicht gelöscht wird?

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

ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  If MsgBox("Tatsächlich schon wieder schließen?", _
    vbQuestion + vbYesNo) = vbYes Then
    On Error Resume Next
    Application.CommandBars("MeineLeiste").Delete
    On Error GoTo 0
    Cancel = False
  Else
    Cancel = True
  End If
End Sub

Private Sub Workbook_Open()
  Dim oBar As CommandBar
  Dim oBtn As CommandBarButton
  Set oBar = Application.CommandBars.Add("MeineLeiste")
  Set oBtn = oBar.Controls.Add
  oBar.Visible = True
  oBtn.Caption = "Es ist nur ein Test"
  oBtn.Style = msoButtonCaption
  ActiveWorkbook.Close
End Sub

    

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