Das Archiv des Excel-Forums
Menüleiste
Betrifft: Menüleiste
von: Jana
Geschrieben am: 13.10.2003 16:14:00
Hallo!
Vielleicht kann mir jemand helfen.
Ich möchte ein Menü erstellen, welches sich in zwei Untermenüs teilt, welche dann jeweils verschiedene Druckbefehle enthalten. Ein Menu hab ich schon. Und es funktioniert auch ganz gut. Ich bekomme aber kein Untermenü zustande, welches auch noch Befehle enthält. Ich hab hier mal auszugsweise mein Menü reinkopiert. Vielleicht kann mir ja jemand helfen!?
Const MenüName = "MeinMenü"
Const MenüBeschriftung2 = "&Hilfe"
Const MenüBeschriftung3 = "&Planung ..."
Sub Auto_open()
Application.DisplayFullScreen = True
Application.DisplayFormulaBar = False
Dim MB As Object, MeinMenü As Object, Befehl As Object, MeinMenü1 As Object, Planung As Object, Hilfe As Object, Speichern As Object
Call Menüleiste_Löschen
Set MB = CommandBars.Add(Name:=MenüName, MenuBar:=True)
CommandBars(MenüName).Visible = True
Set MB = CommandBars.ActiveMenuBar
Set Speichern = MB.Controls.Add(Type:=msoControlPopup, Temporary:=True)
Speichern.Caption = MenüBeschriftung3
Speichern.BeginGroup = True
Set Befehl = Speichern.Controls.Add(Type:=msoControlButton, Id:=3)
With Befehl
.Caption = "Speichern"
.BeginGroup = True
End With
Set Befehl = Speichern.Controls.Add(Type:=msoControlButton, Id:=748)
With Befehl
.Caption = "Speichern unter ..."
.BeginGroup = True
End With
Set Befehl = Speichern.Controls.Add(Type:=msoControlButton, Id:=752)
With Befehl
.Caption = "Beenden"
.BeginGroup = True
End With
Set Hilfe = MB.Controls.Add(Type:=msoControlPopup, Temporary:=True)
Hilfe.Caption = MenüBeschriftung2
Hilfe.BeginGroup = True
Set Befehl = Hilfe.Controls.Add(Type:=msoControlButton, Id:=984)
With Befehl
.Caption = "Hilfe"
End With
Set Befehl = Hilfe.Controls.Add(Type:=msoControlButton, Id:=124)
With Befehl
.Caption = "Hilfe"
End With
Set Befehl = Hilfe.Controls.Add(Type:=msoControlButton, Id:=1)
With Befehl
.Caption = "Info"
.OnAction = "Info_zeigen"
.BeginGroup = True
End With
Set Befehl = Hilfe.Controls.Add(Type:=msoControlButton, Id:=1)
With Befehl
.Caption = "Menü löschen"
.OnAction = "Menüleiste_Löschen"
.BeginGroup = True
End With
Ich danke Euch schonmal!
Tschühüß!!!
Betrifft: AW: Menüleiste
von: GraFri
Geschrieben am: 13.10.2003 16:52:23
Hallo
Hier ein Beispiel für Menü mit Untermenü. Alles in ein Modul. Deinen Vorstellungen anpassen.
Sub Auto_Open()
Set ML = Application.CommandBars("Worksheet Menu Bar")
' Name für neues Menü wird gesetzt
Set U1 = ML.Controls.Add(Type:=msoControlPopup, Before:=10)
U1.Caption = "&Werkzeuge"
U1.Tag = "MeinMenü" ' dient zur eindeutigen Identifizierung des Menüs
' 1. Menüpunkt wird angelegt
Set Punkt = U1.Controls.Add(Type:=msoControlButton)
With Punkt
.Caption = "&1. Menüpunkt"
.OnAction = "Makro1"
.Style = msoButtonIconAndCaption
.FaceId = 2103
End With
' neues Untermenü wird hinzugefügt
Set Punkt = U1.Controls.Add(Type:=msoControlPopup)
With Punkt
.Caption = "1.Untermenü"
End With
Set U2 = Punkt ' Variable für das 2. Untermenü wird gesetzt
'Neuer Menüeintrag im 2.Untermenü
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
' Weiterer Eintrag im 1.Untermenü
Set Punkt = U1.Controls.Add(Type:=msoControlButton)
With Punkt
.Caption = "&4.Menüeintrag"
.OnAction = "Makro4"
.Style = msoButtonIconAndCaption
.FaceId = 3200
End With
End Sub
Sub Auto_Close()
Set ML = Application.CommandBars("Worksheet Menu Bar")
On Error Resume Next ' Fehlerbehandlung
ML.FindControl(Tag:="MeinMenü").Delete
End Sub
Code eingefügt mit
Syntaxhighlighter 2.4
mfg, GraFri