AddIn Menu
12.02.2020 10:15:14
eres
habe ein AddIn erstellt, welches mir zwei Menu-Einträge generiert:
Der Code in "DieseArbeitsmappe" des AddIn sieht folgendermaßen aus:
Private Sub workbook_addininstall()
RegisterAddIn_erweitern
End Sub
Private Sub workbook_addinuninstall()
MenueintragLoeschen
End Sub
Die eigentlichen Menu-Befehle sind in einem allgemeinen Modul:Option Explicit
Const MenüEintrag_1 = "Funktion_1 "
Const MenüEintrag_2 = "Funktion_2 "
Sub RegisterAddIn_erweitern()
Dim cb As CommandBar
Dim cbc As CommandBarControl
Dim cbcc As CommandBarButton
Set cb = Application.CommandBars.ActiveMenuBar
Set cbc = cb.Controls("Extras") '"Extras" = Register "Add-Ins" für Excel2010 ff
Set cbcc = cbc.Controls.Add
With cbcc
.Caption = MenüEintrag_1
.OnAction = "ErsteFunktion "
.FaceId = 71 '1813
End With
Set cbcc = cbc.Controls.Add
With cbcc
.Caption = MenüEintrag_2
.OnAction = "ZweiteFunktion "
.FaceId = 72 '18751
End With
End Sub
Sub MenueintragLoeschen()
On Error Resume Next
With Application.CommandBars.ActiveMenuBar.Controls("Extras")
.Controls(MenüEintrag_1).Delete
.Controls(MenüEintrag_2).Delete
End With
On Error GoTo 0
End Sub
Das funktioniert prinzipiell so wie es soll, jedoch mit einer Ausnahme. Wenn das AddIn geladen ist und ich in Excel alle offenen Arbeitsmappen schließe, verschwinden die beiden Menu-Einträge im AddIn Menu. Im VBA Explorer sehe ich jedoch, dass das AddIn nach wie vor geladen ist. Ich kann die Funktionalität dort auch z.B. im Einzelschrittmodus starten.Rufe ich dort "von Hand" die sub "RegisterAddIn_erweitern" auf, sind die Einträge wieder vorhanden.
Wie kann ich erreichen, dass die Einträge stehen bleiben, auch wenn ich die letzte Arbeitsmappe geschlossen habe.
Bin für jede Hilfe / Tipp dankbar.
Gruß
eres
Um die Menu-Einträge jedoch wieder zu sehen, muß ich das AddIn