![]() |
Adding a new menu on the Worksheet menu bar
I tried to adapt J.Walkenbach code to add a menu item on Workbook_open
but I get the following error on "HelpIndex = CommandBars(1).Controls ("Help").Index" Run-time Error '91' Object variable or with block variable not set Private Sub Workbook_Open() Dim HelpIndex As Integer Dim NewMenu As CommandBarPopup ' Get Index of Help menu HelpIndex = CommandBars(1).Controls("Help").Index ' Create the control Set NewMenu = CommandBars(1) _ .Controls.Add(Type:=msoControlPopup, Befo=HelpIndex, Temporary:=True) ' Add a caption NewMenu.Caption = "Fi<er" End Sub Help appreciated, J.P. |
Adding a new menu on the Worksheet menu bar
If you use a non English version it is possible that the Help label not exist
You can use the ID number of the control See http://www.rondebruin.nl/international.htm#Command -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "u473" wrote in message ... I tried to adapt J.Walkenbach code to add a menu item on Workbook_open but I get the following error on "HelpIndex = CommandBars(1).Controls ("Help").Index" Run-time Error '91' Object variable or with block variable not set Private Sub Workbook_Open() Dim HelpIndex As Integer Dim NewMenu As CommandBarPopup ' Get Index of Help menu HelpIndex = CommandBars(1).Controls("Help").Index ' Create the control Set NewMenu = CommandBars(1) _ .Controls.Add(Type:=msoControlPopup, Befo=HelpIndex, Temporary:=True) ' Add a caption NewMenu.Caption = "Fi<er" End Sub Help appreciated, J.P. |
Adding a new menu on the Worksheet menu bar
"Help" ID is 30010
I tried to replace HelpIndex = CommandBars(1).Controls("Help").Index with HelpIndex = CommandBars(1).Controls(ID:=30010).Index I does not work. I am working with a US Version of Excel 2003 and the original code comes from Excel VBA Programming for Dummies from J. Walkenbach, page 314. Where did I go wrong ? Thank you for your response. J.P. |
Adding a new menu on the Worksheet menu bar
This basic test is working for me
Sub MenuBar_Item() Call MenuBar_Item_Delete With Application.CommandBars(1) With .Controls.Add(Type:=msoControlButton, befo=Application.CommandBars.FindControl(, 30010).Index) .Style = msoButtonCaption .Caption = "&Hi" .OnAction = ThisWorkbook.Name & "!TestMacro" End With End With End Sub Sub MenuBar_Item_Delete() On Error Resume Next Application.CommandBars(1).Controls("Hi").Delete On Error GoTo 0 End Sub Sub TestMacro() MsgBox "Hi" End Sub -- Regards Ron de Bruin http://www.rondebruin.nl/tips.htm "u473" wrote in message ... "Help" ID is 30010 I tried to replace HelpIndex = CommandBars(1).Controls("Help").Index with HelpIndex = CommandBars(1).Controls(ID:=30010).Index I does not work. I am working with a US Version of Excel 2003 and the original code comes from Excel VBA Programming for Dummies from J. Walkenbach, page 314. Where did I go wrong ? Thank you for your response. J.P. |
All times are GMT +1. The time now is 03:06 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com