Option Explicit Const MenuName = "Demo Menu" Const OpenIcon = 23 Const SaveIcon = 3 Const MugIcon = 480 Sub DemoMenuSystem() Dim myMenuBar As CommandBar Dim aMenu As Object Set myMenuBar = CommandBars.Add(Name:="Demo Menu", MenuBar:=True, _ temporary:=True) With myMenuBar.Controls Set aMenu = .Add(Type:=msoControlPopup, temporary:=True) aMenu.Caption = "&File" Set aMenu = .Add(Type:=msoControlPopup, temporary:=True) aMenu.Caption = "&Demo" End With With myMenuBar.Controls("File").Controls Set aMenu = .Add(Type:=msoControlButton, temporary:=True) aMenu.Caption = "&Open" aMenu.FaceId = OpenIcon aMenu.OnAction = "DummyCommand" aMenu.Parameter = "File Open" Set aMenu = .Add(Type:=msoControlButton, temporary:=True) aMenu.Caption = "&Save" aMenu.FaceId = SaveIcon aMenu.OnAction = "DummyCommand" aMenu.Parameter = "File Save" Set aMenu = .Add(Type:=msoControlButton, temporary:=True) aMenu.Caption = "E&xit" aMenu.OnAction = "ExitCommand" aMenu.Parameter = "File Exit" aMenu.BeginGroup = True End With With myMenuBar.Controls("Demo").Controls Set aMenu = .Add(Type:=msoControlButton, temporary:=True) aMenu.Caption = "&First Command" aMenu.OnAction = "DummyCommand" aMenu.Parameter = "Demo First" Set aMenu = .Add(Type:=msoControlButton, temporary:=True) aMenu.Caption = "&Second Command" aMenu.OnAction = "DummyCommand" aMenu.Parameter = "Demo Second" Set aMenu = .Add(Type:=msoControlPopup, temporary:=True) aMenu.Caption = "S&ubmenu" aMenu.BeginGroup = True End With With myMenuBar.Controls("Demo").Controls("Submenu").Controls Set aMenu = .Add(Type:=msoControlButton, temporary:=True) aMenu.Caption = "Turn checkmark on" aMenu.OnAction = "CheckToggle" Set aMenu = .Add(Type:=msoControlButton, temporary:=True) aMenu.Caption = "Turn option on" aMenu.FaceId = MugIcon aMenu.OnAction = "ButtonToggle" Set aMenu = .Add(Type:=msoControlButton, temporary:=True) aMenu.Caption = "Command1" aMenu.OnAction = "DummyCommand" aMenu.Parameter = aMenu.Caption aMenu.BeginGroup = True Set aMenu = .Add(Type:=msoControlButton, temporary:=True) aMenu.Caption = "Command2" aMenu.OnAction = "DummyCommand" aMenu.Parameter = aMenu.Caption End With myMenuBar.Visible = True End Sub Sub DummyCommand() Dim CmdCtrl As Object Set CmdCtrl = CommandBars.ActionControl If CmdCtrl Is Nothing Then Exit Sub MsgBox "Simulating the " & CmdCtrl.Parameter & " command.", _ vbInformation, _ "Menu System Demonstration" End Sub Sub CheckToggle() With CommandBars(MenuName).Controls("Demo").Controls("Submenu").Controls(1) If .State = msoButtonUp Then .State = msoButtonDown .Caption = "Turn checkmark off" Else .State = msoButtonUp .Caption = "Turn checkmark on" End If End With End Sub Sub ButtonToggle() With CommandBars(MenuName).Controls("Demo").Controls("Submenu").Controls(2) If .State = msoButtonUp Then .State = msoButtonDown .Caption = "Turn option off" Else .State = msoButtonUp .Caption = "Turn option on" End If End With End Sub Sub ExitCommand() CommandBars(MenuName).Delete End Sub