Microsoft Excel

Herbers Excel/VBA-Archiv

Menue nur erstellen, wenn noch nicht vorhadnen

Betrifft: Menue nur erstellen, wenn noch nicht vorhadnen von: Jochen
Geschrieben am: 29.11.2007 11:50:43

Hallo alle zusammen,

habe gerade folgendes Problem, evtl kann mir einer von Euhc helfen:

ich habe eine Dateivorlage, die mir mit dem folgenden Makro eine eigene Menueleiste erstellt:

Sub auto_open()

Application.DisplayAlerts = False

Dim Menue
Dim Button1, Button2, Button3, Button4, Button5, Button6, Button7

Set Menue = Application.CommandBars.Add(Name:="Mein Menue", Temporary:=True, Position:=msoBarTop)
With Menue
.Visible = True
End With

Set Button1 = Menue.Controls.Add(Type:=msoControlButton, Before:=1, Temporary:=True)
With Button1
.Style = msoButtonCaption
.Caption = "Daten einlesen"
.OnAction = "Rohdaten"
End With

Set Button2 = Menue.Controls.Add(Type:=msoControlButton, Before:=2, Temporary:=True)
With Button2
.Style = msoButtonCaption
.Caption = "Diagramme erstellen"
.OnAction = "Diagramme"
.BeginGroup = True
End With
.
.
.
.

Wenn ich nun aber eine zweite Datei mit dem Makro öffne, dann erhalte ich eine Fehlermeldung, weil er das Menue nicht erstellen kann, denn es existiert ja schon.

Kann man irgendwie abfragen, ob ein Menue schon vorhanden ist und das Menue nur erstellen läßt, wenn es noch nicht vorhanden ist?

Danke shcon mal sagt

Jochen

  

Betrifft: AW: Menue nur erstellen, wenn noch nicht vorhadnen von: ransi
Geschrieben am: 29.11.2007 11:57:43

HAllo Jochen

Lösche immer wenn vorhanden, und dann erstelle neu.

Option Explicit

Sub auto_open()
Dim Menue
Dim Button1, Button2, Button3, Button4, Button5, Button6, Button7
On Error Resume Next
Application.CommandBars("Mein Menue").Delete
On Error GoTo 0
Set Menue = Application.CommandBars.Add(Name:="Mein Menue", Temporary:=True, Position:=msoBarTop)
With Menue
    .Visible = True
End With
Set Button1 = Menue.Controls.Add(Type:=msoControlButton, Before:=1, Temporary:=True)
With Button1
    .Style = msoButtonCaption
    .Caption = "Daten einlesen"
    .OnAction = "Rohdaten"
End With
Set Button2 = Menue.Controls.Add(Type:=msoControlButton, Before:=2, Temporary:=True)
With Button2
    .Style = msoButtonCaption
    .Caption = "Diagramme erstellen"
    .OnAction = "Diagramme"
    .BeginGroup = True
End With
End Sub


ransi


  

Betrifft: AW: Menue nur erstellen, wenn noch nicht vorhadnen von: Jochen
Geschrieben am: 29.11.2007 12:01:43



Dankäää funktioniert super !


 

Beiträge aus den Excel-Beispielen zum Thema "Menue nur erstellen, wenn noch nicht vorhadnen"