Gruppe
Menue
Problem
Beim Aktvieren einer Arbeitsmappe mit dem String "KN." im Namen, also beispielsweise "WKN.xls", soll im Arbeitsblattmenü ein neuer Menüpunkt "KN-Befehl" erscheinen, beim Deaktivieren der Mappe wieder gelöscht werden.
ClassModule: DieseArbeitsmappe
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("KN-Befehl").Delete
On Error GoTo 0
End Sub
Private Sub Workbook_Open()
Set app.xlApp = Application
End Sub
ClassModule: clsApp
Public WithEvents xlApp As Application
Private Sub xlApp_WorkbookActivate(ByVal Wb As Workbook)
Dim oBar As CommandBar
Dim oBtn As CommandBarButton
Set oBar = Application.CommandBars("Worksheet Menu Bar")
On Error Resume Next
oBar.Controls("KN-Befehl").Delete
On Error GoTo 0
If InStr(ActiveWorkbook.Name, "KN.") Then
Set oBtn = oBar.Controls.Add
With oBtn
.Caption = "KN-Befehl"
.OnAction = ThisWorkbook.Name & "!KNBefehl"
.Style = msoButtonCaption
End With
End If
End Sub
StandardModule: basMain
Public app As New clsApp
Sub KNBefehl()
MsgBox "Ich bin der WKN-Befehl!"
End Sub