Menu - VBA
Aby dodać przy pomocy VBA nową pozycję menu:
Sub dodaj_NoweMenu()
'dodaje NoweMenu do paska menu
Set NoweMenu = CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup, before:=10)
'before:=10 - określa w którym miejscu wstawia NoweMenu
NoweMenu.Caption = "&NoweMenu"
'dodaje pozycję do nowego menu
Set poz1 = NoweMenu.Controls.Add
With poz1
.Caption = "&Poz1"
.OnAction = "mojemakro5"
.FaceId = 160
End With
'dodaje pozycję rozwijaną do menu NoweMenu
Set poz2 = NoweMenu.Controls.Add(Type:=msoControlPopup)
With poz2
.Caption = "&Poz2"
End With
Set podpoz1 = poz2.Controls.Add
With podpoz1
.Caption = "&Podpoz1"
.Style = msoButtonIconAndCaption
.OnAction = "mojemakro3"
.FaceId = 1096
End With
Set podpoz2 = poz2.Controls.Add
With podpoz2
.Caption = "&Podpoz2"
.Style = msoButtonIconAndCaption
.OnAction = "mojemakro4"
.FaceId = 126
End With
'rozpoczyna grupę dla Poz2
poz2.BeginGroup = True
End Sub
Kod usuwający nasze menu:
Sub usun_NoweMenu()
On Error GoTo koniec
Set NoweMenu = CommandBars("Worksheet Menu Bar").Controls("&NoweMenu")
NoweMenu.Delete
koniec:
End Sub