VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Eigene Symbolleiste nur beim Schließen löschen

Gruppe

Menue

Bereich

Bar

Thema

Eigene Symbolleiste nur beim Schließen löschen

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