Microsoft Excel

Herbers Excel/VBA-Archiv

Menüeintrag Prüfen | Herbers Excel-Forum


Betrifft: Menüeintrag Prüfen von: Bernd Lonsdorfer
Geschrieben am: 03.12.2009 18:29:40

hi,

ich erstelle mit folgendem Makro einen Menüpunkt. Die Datei speichere ich unter einem anderen Namen ab. Öffne ich nun die Ursprungsdatei, muß ich wieder Makro aktivieren anklicken und habe den Menüeintrag nun 2 mal. Wie kann ich es bewerkstelligen, das geprüft wird ob der Menüeintrag schon vorhanden ist?

Gruß
Bernd

Sub Workbook_Open()
    Set cb = Application.CommandBars("Worksheet Menu Bar")
    Set cb1 = cb.FindControl(Tag:="Vorlage")
    If Not cb1 Is Nothing Then cb1.Delete
    Set cb1 = cb.Controls.Add(Type:=msoControlPopup, _
                              before:=cb.Controls.Count, _
                              Temporary:=True)
    With cb1
        .Caption = "&Vorlage"
        .Tag = "Sortierung"
        End With
    With cb1.CommandBar.Controls.Add(Type:=msoControlButton)
        .Caption = "Vorlage &Standard"
        .OnAction = "Standard_Rahmen"
    End With
    With cb1.CommandBar.Controls.Add(Type:=msoControlButton)
        .Caption = "Vorlage &e-mail"
        .OnAction = "email_Rahmen"
    End With
    Standard_Rahmen

End Sub

  

Betrifft: AW: Menüeintrag Prüfen von: ransi
Geschrieben am: 03.12.2009 18:43:34

HAllo

ICh prüfe das nie.
Einfach löschen und wieder erstellen.

' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Sub Workbook_Open()
Dim cb
Dim cb1 As CommandBarControl
Set cb = Application.CommandBars("Worksheet Menu Bar")
'###########
On Error Resume Next
Set cb1 = cb.Controls("&Vorlage")
cb1.Delete
On Error GoTo 0
'###########
Set cb1 = cb.Controls.Add(Type:=msoControlPopup, _
    before:=cb.Controls.Count, _
    Temporary:=True)
With cb1
    .Caption = "&Vorlage"
    .Tag = "Sortierung"
End With
With cb1.CommandBar.Controls.Add(Type:=msoControlButton)
    .Caption = "Vorlage &Standard"
    .OnAction = "Standard_Rahmen"
End With
With cb1.CommandBar.Controls.Add(Type:=msoControlButton)
    .Caption = "Vorlage &e-mail"
    .OnAction = "email_Rahmen"
End With
Standard_Rahmen

End Sub



ransi


  

Betrifft: AW: Menüeintrag Prüfen von: Bernd Lonsdorfer
Geschrieben am: 04.12.2009 17:30:29

Danke ransi, das funktioniert so super.

Da hätte ich auch selbst drauf kommen können.

Gruß
Bernd


Beiträge aus den Excel-Beispielen zum Thema "Menüeintrag Prüfen"