Dim WithEvents mRSE As RSE
Dim mToolsMenu As CommandBarPopup
Dim mMyMenu As CommandBarControl
Dim lngMyID As Long
Sub CreateMenu()
On Error Resume Next
Set mRSE = Application.RSE
Set mToolsMenu = mRSE.CommandBars(“Menu Bar”).Controls(“Tools”)
Set mMyMenu = mToolsMenu.Controls.Add(rsControlButton, “My Menu”)
lngMyID = mMyMenu.Id
End Sub
Private Sub mRSE_CommandBarControlClick(ByVal CommandID As Long, CancelDefault As Boolean)
If lngMyID = CommandID Then
MsgBox “You have clicked on my menu…”
End If
End Sub
If you wish to make your code a bit more readable then I wouldn’t save the ID but instead check it like this:
Dim WithEvents mRSE As RSE
Dim mToolsMenu As CommandBarPopup
Dim mMyMenu As CommandBarControl
Sub CreateMenu()
On Error Resume Next
Set mRSE = Application.RSE
Set mToolsMenu = mRSE.CommandBars(“Menu Bar”).Controls(“Tools”)
Set mMyMenu = mToolsMenu.Controls.Add(rsControlButton, “My Menu”)
End Sub
Private Sub mRSE_CommandBarControlClick(ByVal CommandID As Long, CancelDefault As Boolean)
If CommandID = Application.RSE.CommandBars(“Menu Bar”).Controls(“Tools”).Controls(“My Menu”).Id Then
MsgBox “You have clicked on my menu…”
End If
End Sub