Hallo Excelfreunde
kann mir jemand erklären wie mann in einem Spezialmenu (Mein Menu) mehrere Untermenus erstellen kann.
Am besten währe ein Code den ich in den bestehenden Code einfügen kann.
Weis hier jemand Rat.
Gruß Peter
Hallo Orakel
ja mit einem Menu.
Ich würde gerne dieses Menu erweitern.
Es soll so ähnlich wie ein Ordner mit mehreren Unterordnern aufgebaut sein.
Ich weis nicht ob das so ohne weiteres möglich ist.
Wenn das gehen sollte, soll es auf dem Code von euch aufgebaut sein.
Das Menu von dir und Sepp funktioniert hervorragend.
Gruß Peter
Anzeige
@ Josef Ehrenberger
29.08.2006 10:08:29
Peter
Hallo Excelfreund
nee so meinte ich das nicht.
Am 27-08-06 habe ich von dir einen Code für die Erstellung eines extra Menupunktes mit Passwortabfrage bekommen.
Meine Frage ist, kann mann dieses Menu mit Untermenus bekommen/erweitern.
Wenn ja sage mir bitte genau wie und wo ich was einstzen soll.
Beispiel:
Mein menu:
Menu aktivieren mit Passwort. (Jetzt kann ich die Menus benutzen)
Untermenu Drucken:
Drucken auf aktivem Drucker
Drucken auf LPQ3
Untermenu Name in den Diagrammen ändern:
Name 1
Name 2
Untermenu Gruppenname ändern:
Gruppe 1
Gruppe 2
Gruppe 3
Gruppe 4
Untermenu Monate ändern:
Januar
Februar
usw.
so in dieser Art würde ich das gerne aufbauen.
Ist das möglich.
Gruß Peter
Anzeige
AW: @ Josef Ehrenberger
29.08.2006 19:49:17
Josef
Hallo Peter!
Das Posting sollte auch zu einem anderen Peter ;-))
Das was du willst, geht z.B. so.
' ********************************************************************** ' Modul: Modul1 Typ: Allgemeines Modul ' **********************************************************************
Sub makeMenue() Dim objCBar As CommandBar Dim objCMenu As CommandBarPopup, objCPop As CommandBarPopup Dim objCBtn As CommandBarButton Dim intC AsInteger
deleteMenue
'Zuweisen der Objectvariablen Set objCBar = Application.CommandBars("Worksheet Menu Bar") Set objCMenu = objCBar.Controls.Add(Type:=msoControlPopup) 'Titelbeschriftung der Menübar objCMenu.Caption = menueName
'Einen Button hinzufügen und diesen gleich beschriften Set objCBtn = objCMenu.Controls.Add(Type:=msoControlButton) With objCBtn .Style = msoButtonIconAndCaption .Caption = "Menü aktivieren" .OnAction = "activateMenu" .FaceId = 343 EndWith
'Popup hinzufügen Set objCPop = objCMenu.Controls.Add(Type:=msoControlPopup) With objCPop .Caption = "Einen Drucker auswählen" .Enabled = False EndWith 'Buttons zum Popup hinzufügen Set objCBtn = objCPop.Controls.Add(Type:=msoControlButton) With objCBtn .Style = msoButtonIconAndCaption .Caption = "Aktiver Drucker" .OnAction = "Makro16" .FaceId = 4 EndWith Set objCBtn = objCPop.Controls.Add(Type:=msoControlButton) With objCBtn .Style = msoButtonIconAndCaption .Caption = "Drucken auf LPQ3" .OnAction = "Makro17" .FaceId = 4 EndWith
'Popup hinzufügen Set objCPop = objCMenu.Controls.Add(Type:=msoControlPopup) With objCPop .Caption = "Name in den Diagrammen ändern" .Enabled = False EndWith 'Buttons zum Popup hinzufügen Set objCBtn = objCPop.Controls.Add(Type:=msoControlButton) With objCBtn .Style = msoButtonIconAndCaption .Caption = "D.Thönnißen" .OnAction = "Makro35" .FaceId = 17 EndWith Set objCBtn = objCPop.Controls.Add(Type:=msoControlButton) With objCBtn .Style = msoButtonIconAndCaption .Caption = "J.Rost" .OnAction = "Makro36" .FaceId = 17 EndWith
'Popup hinzufügen Set objCPop = objCMenu.Controls.Add(Type:=msoControlPopup) With objCPop .Caption = "Monate in den Diagrammen ändern" .Enabled = False EndWith 'Buttons zum Popup hinzufügen For intC = 1 To 12 Set objCBtn = objCPop.Controls.Add(Type:=msoControlButton) With objCBtn .Style = msoButtonIconAndCaption .Caption = Format(DateSerial(1, intC, 1), "mmmm") .OnAction = "'MonatAendern""" & intC & """'" .FaceId = 16 EndWith Next
Set objCBar = Nothing Set objCMenu = Nothing Set objCBtn = Nothing Set objCPop = Nothing
EndSub
Sub deleteMenue() OnErrorResumeNext Application.CommandBars("Worksheet Menu Bar").Controls(menueName).Delete OnErrorGoTo 0 EndSub
Sub MonatAendern(intMonth AsInteger) 'Wenn man das zu ändernde Monat als Argument übergibt, braucht man nur ein Makro für alle Monate! MsgBox "Monat " & Format(DateSerial(1, intMonth, 1), "mmmm") & " geändert!" EndSub
Gruß Sepp
Anzeige
AW: @ Josef Ehrenberger
29.08.2006 21:25:31
Peter
Hallo Sepp
genau so habe ich mir das gedacht.
Vielen dank für deine Hilfe.
Gruß Peter