Das Archiv des Excel-Forums

Menüleiste

Bild

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üß!!!
Bild


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


 Bild