Vorhandenes Kontextmenü erweitern

302009



Dieses Makro erweitert ein vorhandenes Kontextmenü um einen Eintrag. In diesem Fall heißt der neue Eintrag "Meine eigene Routine".

Sub kontextmenue_erweitern()
    'Den Eintrag "Meine eigene Routine" löschen
    Call kontextmenue_loeschen
    
    Dim Kontext As Object
    'Eigenen Eintrag hinzufügen
    Set Kontext = CommandBars("Cell").Controls.Add
    Kontext.BeginGroup = True
    With Kontext
        .Caption = "Meine eigene Routine"
        .OnAction = "Makro"
        .FaceId = 122
    End With
End Sub

__________________________________________________________________________

Dieses Makro löscht den Eintrag "Meine eigene Routine"

Sub
 kontextmenue_loeschen()
   'Eintrag "Meine eigene Routine" löschen
   On Error Resume Next
   CommandBars("Cell").Controls("Meine eigene Routine").Delete
End Sub

__________________________________________________________________________

Hierbei handelt es sich um den Code, der ausgeführt wird, wenn der Kontext-Menüpunkt "Meine eigene Routine" angeklickt wurde.

Sub
 Makro()
    'Makro das ausgeführt wird, wenn der Menüpunkt "Meine eigene Routine"
    'angeklickt wird
    MsgBox "Du hast mich angeklickt!", vbExclamation
End Sub

__________________________________________________________________________

Dieses Makro setzt das Kontextmenü in den Ursprungszustand zurück
.
Sub reset()
'Kontextmenü in den Ursprungszustand zurücksetzen
Application.CommandBars("Cell").reset
End Sub