Microsoft Excel

Herbers Excel/VBA-Archiv

Entfernen eines Eintrages im Kontextmenue

Betrifft: Entfernen eines Eintrages im Kontextmenue von: Josef
Geschrieben am: 04.03.2008 06:59:33

Hallo!

Mit folgendem Makro erzeuge ich im Konextmenue einen Eintrag mit dem ein Makro aufgerufen werden kann.

Sub Auto_Open()
LeisteVP
End Sub



Sub LeisteVP()
   Set x = CommandBars("Cell")
   For i = 1 To x.Controls.Count
      If x.Controls(i).Caption = "Vertragspartner" Then
         i = 0
         Set x = Nothing
         Exit For
      End If
   Next i
   If i = 0 Then Exit 

Sub ' Ist schon vorhanden also raus hier
   'Menü-Eintrag erzeugen
   Set mypop = CommandBars("Cell2").Controls.Add(Type:=msoControlPopup, Before:=1)
   With mypop
       .Caption = "Vertragspartner Adressen erzeugen"
       Set mybutton = .Controls.Add(Type:=msoControlButton)
           mybutton.Caption = "Vertragspartner Adressen erzeugen"
           mybutton.OnAction = "Kopieren_VP"
    End With
    Set x = Nothing
End Sub



Wie entferne ich jetzt bitte beim Schließen der Mappe diesen Eintrag ohne die im Kontexmenue noch vorhandenen indivudell angelegten Aufrufmöglichkeiten mit zu löschen.

Mit dem Aufruf

Sub Auto_Close()
   CommandBars("Cell").Reset
End Sub



werden nämlich auch die über andere Mappen angelegte "Cell" Einträge mit gelöscht

Danke

  

Betrifft: AW: Entfernen eines Eintrages im Kontextmenue von: Rudi Maintaire
Geschrieben am: 04.03.2008 09:10:45

Hallo,

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars("Cell").Controls("Vertragspartner Adressen erzeugen").Delete
On Error GoTo 0
End Sub


Gruß
Rudi

Eine Kuh macht Muh, viele Kühe machen Mühe


  

Betrifft: AW: Entfernen eines Eintrages im Kontextmenue von: Josef
Geschrieben am: 04.03.2008 11:15:46

Hallo Rudi!


Danke für Deine Antwort.

Habe es gerade getestet.

Wenn ich Excel komplett schließe, dann wird der Eintrag gelöscht. Wenn ich jedoch andere Mappen geöffnet habe und ich schließe nur diese eine Datei, dann bleibt der Eintrag im Kontextmenue trotzdem erhalten. (wird nicht gelöscht)


Josef


  

Betrifft: AW: Entfernen eines Eintrages im Kontextmenue von: Rudi Maintaire
Geschrieben am: 04.03.2008 12:26:54

Hallo,
dann nimm doch mal On Error Resume Next raus und versuchs nochmal.

Gruß
Rudi

Eine Kuh macht Muh, viele Kühe machen Mühe


  

Betrifft: AW: Entfernen eines Eintrages im Kontextmenue von: Josef
Geschrieben am: 04.03.2008 12:36:12

Hallo Rudi!

Habe On Error Resume Next rausgenommen und nochmals probiert. Beim Schliessen der Arbeitsmappe bleibt jedoch der Eintrag im Kontextmenue noch immer erhalten.

Josef


  

Betrifft: AW: Entfernen eines Eintrages im Kontextmenue von: Original Kurt
Geschrieben am: 04.03.2008 14:30:27

Hi,

nimm das Ereignis Private Sub Workbook_Activate() zum Erstellen und
Private Sub Workbook_Deactivate()zum Löschen.

mfg Kurt


 

Beiträge aus den Excel-Beispielen zum Thema "Entfernen eines Eintrages im Kontextmenue"