Microsoft Excel

Herbers Excel/VBA-Archiv

Untermenue von Menueleiste

Betrifft: Untermenue von Menueleiste von: Jonatan Müller
Geschrieben am: 03.03.2008 10:45:53

Hallo,

ich bin grad dabei mir eine Menueleiste zu erstellen; ich hab was gefunden, wie man einen Eintrag unter die Menueleiste stellt.

Mein Problem ist, dass ich nicht weiß, wie ich einen zweiten Unterpunkt unter das Menue hängen kann. Es sollte sich ein Drop-down-Menue oeffnen.

Hier mein bisheriger Code, für nur ein drop-down-feld.

Könnt ihr mir sagen, wie ich nun einen zweiten Unterpunkt einfügen kann?

Vielen DAnk schon mal!!!


Sub neuesmenü()

Dim i As Integer
Dim i_hilfe As Integer
Dim Menü As CommandBarControl
Dim mb As CommandBarControl




i = Application.CommandBars(1).Controls.Count
i_hilfe = Application.CommandBars(1).Controls(i).Index
Set Menü = Application.CommandBars(1).Controls.Add(Type:=msoControlPopup, before:=i_hilfe,  _
temporary:=True)
Menü.Caption = "Archiv"

Set mb = Menü.Controls.Add(Type:=msoControlButton)
With mb
    .Caption = "Archivierung für einen Jahrgang starten"
    .Style = msoButtonIconAndCaption
    .FaceId = 266
    .OnAction = "zeigen"
    .BeginGroup = True
End With




End Sub




Sub zeigen()

Archiv.Show

End Sub



Gruß Jonatan

  

Betrifft: AW: Untermenue von Menueleiste von: mumpel
Geschrieben am: 03.03.2008 11:01:08

Hallo!

Beispiele findest Du im Archiv zuhauf

Hier ein Beispiel.

Sub test()
Dim MenüNeu As CommandBarPopup
Dim MB As CommandBarControl
Dim MC As CommandBarPopup
Dim MA As CommandBarControl
Set myBar = CommandBars(1) 'ermittelt die Indexnummer
Set ctrl1 = myBar.Controls("?")
'Erstellt das temporäre Menü "ArbeitsZeit" mit Untermenüs
Set MenüNeu = Application.CommandBars(1).Controls.Add(Before:=ctrl1.Index, Type:= _
msoControlPopup)   'Menütitel
    With MenüNeu
    .Caption = "Arbeits&Zeit"
    .TooltipText = "Hiermit können Sie die Makros dieser Arbeitsmappe über die Tastatur ausfü _
hren"
    '.BeginGroup = False
    End With
On Error Resume Next
Set MC = MenüNeu.Controls.Add(Type:=msoControlPopup)
    With MC
      .Caption = "&Monats-Auswahl"
      .BeginGroup = True
    End With
Set MB = MC.Controls.Add(Type:=msoControlButton)
    With MB
      .Caption = "&Januar"
      .Style = msoButtonCaption
      .OnAction = "JanEin"
    End With
Set MB = MC.Controls.Add(Type:=msoControlButton)
    With MB
      .Caption = "&Februar"
      .Style = msoButtonCaption
      .OnAction = "FebEin"
    End With
Set MB = MC.Controls.Add(Type:=msoControlButton)
    With MB
      .Caption = "M&ärz"
      .Style = msoButtonCaption
      .OnAction = "MarzEin"
    End With
Set MA = MenüNeu.Controls.Add(Type:=msoControlButton)
    With MA
      .Caption = "Antr&äge aufrufen"
      .Style = msoButtonIconAndCaption
      .FaceId = 42
      .OnAction = "Aufruf_show"
      .BeginGroup = True
      End With
Set MA = MenüNeu.Controls.Add(Type:=msoControlButton)
    With MA
      .Caption = "&Persönliche Daten eingeben"
      .Style = msoButtonIconAndCaption
      .FaceId = 1665
      .OnAction = "PersönlicheDaten"
      .BeginGroup = True
    End With
End Sub


Gruß, Rene


  

Betrifft: AW: Untermenue von Menueleiste von: Hajo_Zi
Geschrieben am: 03.03.2008 11:02:53

Hallo Jonatan,


Sub Untermenü()
    Set mymenubar = CommandBars.ActiveMenuBar
    
    Set Newmenu = mymenubar.Controls.Add(Type:=msoControlPopup, Temporary:=True)
    Newmenu.Caption = " Ulli's"
    
    Set newtopmenu = Newmenu.Controls.Add(Type:=msoControlPopup, Temporary:=True)
    newtopmenu.Caption = "Formating"
    
    Set ctrl1 = newtopmenu.CommandBar.Controls.Add(Type:=msoControlButton, ID:=1)
    Set ctrl2 = newtopmenu.CommandBar.Controls.Add(Type:=msoControlButton, ID:=1)
    With ctrl1
        .Caption = "Standard1"
        Newmenu.Caption = " &Ulli's"
        .TooltipText = "U.H."
        .Style = msoButtonCaption
        .OnAction = "Mein Makro"
    End With
    With ctrl2
        .Caption = "Standard2"
        Newmenu.Caption = " &Ulli's"
        .TooltipText = "U.H."
        .Style = msoButtonCaption
        .OnAction = "Mein Makro"
    End With
End Sub

Sub Löschen()
    Application.CommandBars("Worksheet Menu Bar").Controls(" &Ulli's").Delete
End Sub



GrußformelHomepage


  

Betrifft: AW: Untermenue von Menueleiste von: Rudi Maintaire
Geschrieben am: 03.03.2008 11:04:51

Hallo,
etwa so:

Sub neuesmenü()
Dim i As Integer
Dim i_hilfe As Integer
Dim Menü As CommandBarControl
Dim mb As CommandBarControl
Dim oPopUp As CommandBarControl

i = Application.CommandBars(1).Controls.Count
i_hilfe = Application.CommandBars(1).Controls(i).Index
Set Menü = Application.CommandBars(1).Controls.Add(Type:=msoControlPopup, before:=i_hilfe, _
temporary:=True)
Menü.Caption = "Archiv"
Set oPopUp = Menü.Controls.Add(msoControlPopup)
oPopUp.Caption = "Untermenü1"
Set mb = oPopUp.Controls.Add(Type:=msoControlButton)
With mb
    .Caption = "Archivierung für einen Jahrgang starten"
    .Style = msoButtonIconAndCaption
    .FaceId = 266
    .OnAction = "zeigen"
    .BeginGroup = True
End With
Set mb = oPopUp.Controls.Add(Type:=msoControlButton)
With mb
    .Caption = "1.2"
    .Style = msoButtonIconAndCaption
    .FaceId = 266
    .OnAction = "zeigen"
    .BeginGroup = True
End With
Set oPopUp = Menü.Controls.Add(msoControlPopup)
oPopUp.Caption = "Untermenü2"
Set mb = oPopUp.Controls.Add(Type:=msoControlButton)
With mb
    .Caption = "2.1"
    .Style = msoButtonIconAndCaption
    .FaceId = 266
    .OnAction = "zeigen"
    .BeginGroup = True
End With
Set mb = oPopUp.Controls.Add(Type:=msoControlButton)
With mb
    .Caption = "2.2"
    .Style = msoButtonIconAndCaption
    .FaceId = 266
    .OnAction = "zeigen"
    .BeginGroup = True
End With
End Sub



Gruß
Rudi


  

Betrifft: AW: Untermenue von Menueleiste von: Jonatan Müller
Geschrieben am: 03.03.2008 11:08:08

Vielen Dank .

Ist ja eigentlich recht simpel...

Gruß Jonatan