Delete specific menu item from custom menu
I am creating a new menu called STI to be used by future add-ins. Within
that menu, I added a menu item(msControlButton), Format Aging Report, to run a macro. How do I delete Format Aging Report without deleting STI menu? Sub AddMenus() Dim cbMainMenuBar As CommandBar Dim HelpMenuIndex As Integer Dim cbcSTIMenu As CommandBarControl 'Would like to try to delete "Format Aging Report" here instead of current code On Error Resume Next Application.CommandBars("Worksheet Menu Bar").Controls("&STI").Delete On Error GoTo 0 Set cbMainMenuBar = Application.CommandBars("Worksheet Menu Bar") HelpMenuIndex = cbMainMenuBar.Controls("Help").Index Set cbcSTIMenu = cbMainMenuBar.Controls.Add(Type:=msoControlPopup, Befo=HelpMenuIndex) cbcSTIMenu.Caption = "&STI" With cbcSTIMenu.Controls.Add(Type:=msoControlButton) .Caption = "Format Aging Report" .OnAction = "AgingReportFormat" End With End Sub |
Delete specific menu item from custom menu
look at delete method od commandbarcontrol object
"Tim" wrote: I am creating a new menu called STI to be used by future add-ins. Within that menu, I added a menu item(msControlButton), Format Aging Report, to run a macro. How do I delete Format Aging Report without deleting STI menu? Sub AddMenus() Dim cbMainMenuBar As CommandBar Dim HelpMenuIndex As Integer Dim cbcSTIMenu As CommandBarControl 'Would like to try to delete "Format Aging Report" here instead of current code On Error Resume Next Application.CommandBars("Worksheet Menu Bar").Controls("&STI").Delete On Error GoTo 0 Set cbMainMenuBar = Application.CommandBars("Worksheet Menu Bar") HelpMenuIndex = cbMainMenuBar.Controls("Help").Index Set cbcSTIMenu = cbMainMenuBar.Controls.Add(Type:=msoControlPopup, Befo=HelpMenuIndex) cbcSTIMenu.Caption = "&STI" With cbcSTIMenu.Controls.Add(Type:=msoControlButton) .Caption = "Format Aging Report" .OnAction = "AgingReportFormat" End With End Sub |
Delete specific menu item from custom menu
Thank you Dom, here is what I came up with.
(Any suggestions on error handling or formatting welcomed) Dim cbMainMenuBar As CommandBar Dim HelpMenuIndex As Integer Dim cbcSTIMenu As CommandBarControl Dim cbcAgingReport As CommandBarControl Set cbMainMenuBar = Application.CommandBars("Worksheet Menu Bar") Set cbcSTIMenu = cbMainMenuBar.FindControl(Type:=msoControlPopup, Tag:="STI") On Error Resume Next cbcSTIMenu.Controls("Format Aging Report").Delete On Error GoTo 0 If cbcSTIMenu Is Nothing Then HelpMenuIndex = cbMainMenuBar.Controls("Help").Index Set cbcSTIMenu = cbMainMenuBar.Controls.Add(Type:=msoControlPopup, Befo=HelpMenuIndex) cbcSTIMenu.Caption = "&STI" cbcSTIMenu.Tag = "STI" End If With cbcSTIMenu.Controls.Add(Type:=msoControlButton) .Caption = "Format Aging Report" .OnAction = "AgingReportFormat" End With "DomThePom" wrote: look at delete method od commandbarcontrol object "Tim" wrote: I am creating a new menu called STI to be used by future add-ins. Within that menu, I added a menu item(msControlButton), Format Aging Report, to run a macro. How do I delete Format Aging Report without deleting STI menu? Sub AddMenus() Dim cbMainMenuBar As CommandBar Dim HelpMenuIndex As Integer Dim cbcSTIMenu As CommandBarControl 'Would like to try to delete "Format Aging Report" here instead of current code On Error Resume Next Application.CommandBars("Worksheet Menu Bar").Controls("&STI").Delete On Error GoTo 0 Set cbMainMenuBar = Application.CommandBars("Worksheet Menu Bar") HelpMenuIndex = cbMainMenuBar.Controls("Help").Index Set cbcSTIMenu = cbMainMenuBar.Controls.Add(Type:=msoControlPopup, Befo=HelpMenuIndex) cbcSTIMenu.Caption = "&STI" With cbcSTIMenu.Controls.Add(Type:=msoControlButton) .Caption = "Format Aging Report" .OnAction = "AgingReportFormat" End With End Sub |
All times are GMT +1. The time now is 09:08 AM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com