Herbers Excel-Forum - das Archiv

Menüleisten

Bild

Betrifft: Menüleisten
von: Rolf

Geschrieben am: 17.12.2006 22:53:03
Liebe Experten,
ich versuche, in VBA neue Menüleisten zu generieren. So was schaffe ich zwar, wenn ich das händisch in Excel mache. Das soll dann so aussehen:
Userbild
Wenn ich den Makrorecorder dabei laufen lasse, nimmt der mir folgendes auf:
Sub Makro1()
' Makro1 Makro
' Makro am 17.12.2006 von Rolf aufgezeichnet
On Error Resume Next
Application.CommandBars("neueLeiste").Delete
On Error GoTo 0
Application.CommandBars.Add ("neueLeiste")
Application.CommandBars("neueLeiste").Visible = True
Application.CommandBars("neueLeiste").Controls.Add Type:=msoControlPopup, _
Before:=1
Application.CommandBars("neueLeiste").Controls.Add Type:=msoControlPopup, _
Before:=2
Application.CommandBars("Untermenü  9").Controls.Add Type:=msoControlButton, _
Id:=2950, Before:=1
Application.CommandBars("Untermenü  9").Controls.Add Type:=msoControlPopup, _
Before:=2
Application.CommandBars("Untermenü  11").Controls.Add Type:=msoControlButton _
, Id:=2950, Before:=1
End Sub

(zugegeben, ich habe ich ersten 3 Programmzeilen beigefügt).
Schön. Nur, wenn ich das nun wieder ablaufen lasse, dann bekomme ich das folgende Ergebnis:
Userbild
Die Beschriftungen der Buttons fehlen, und ich kann die Felder Anwendung1, Auswahl und Anwendung2 nicht öffnen.
Wie muss ich den Code denn nun verändern, damit ich wirklich das gewünschte Ergebnis bekomme? Bei Klick auf Anwendung1 und Anwendung2 will ich entsprechende Makros starten.
Danke für die Hilfe.
Rolf
Bild

Betrifft: AW: Menüleisten
von: heinz
Geschrieben am: 17.12.2006 23:35:55
Hi
was soll das Makro machen
Bild

Betrifft: AW: Menüleisten
von: Alfi

Geschrieben am: 17.12.2006 23:48:43
hier
Sub Auto_Open()
Set ML = Application.CommandBars("Worksheet Menu Bar")
Set U1 = ML.Controls.Add(Type:=msoControlPopup, Before:=10)
U1.Caption = "&Mein Menü"
U1.Tag = "MeinMenü"
Set Punkt = U1.Controls.Add(Type:=msoControlButton)
With Punkt
.Caption = "&1. Menüpunkt"
.OnAction = "Makro1"
.Style = msoButtonIconAndCaption
.FaceId = 2103
End With
Set Punkt = U1.Controls.Add(Type:=msoControlPopup)
With Punkt
.Caption = "1.Untermenü"
End With
Set U2 = Punkt
Set Punkt = U2.Controls.Add(Type:=msoControlButton)
With Punkt
.Caption = "&2.Menüpunkt"
.OnAction = "Makro2"
.Style = msoButtonIconAndCaption
.FaceId = 144
End With
Set Punkt = U2.Controls.Add(Type:=msoControlButton)
With Punkt
.Caption = "&3.Menüpunkt"
.OnAction = "Makro3"
.Style = msoButtonIconAndCaption
.FaceId = 1715
End With
Set Punkt = U1.Controls.Add(Type:=msoControlButton)
With Punkt
.Caption = "&4.Menüeintrag"
.OnAction = "Makro4"
.Style = msoButtonIconAndCaption
.FaceId = 3200
End With
End Sub

Bild

Betrifft: AW: Menüleisten
von: Rolf
Geschrieben am: 18.12.2006 10:44:54
Hei, Alfi,
herzlichen Dank, das klappt ja!
Jetzt muss ich nur noch verstehen, wie das denn funktioniert....
Rolf
Bild

Betrifft: AW: Menüleiste wieder löschen? Wie denn?
von: Franz D.

Geschrieben am: 20.12.2006 21:23:55
Hallo Alfi,
Ich bekomme deine Menüleiste nicht mehr los, trotz Archivsuche. Habe sie seither in jeder Tabelle. Wie lautet die Syntax des "Delete"-Befehles? Oder wer kann helfen?
mfG
Franz D.
 Bild