У меня есть простая надстройка COM для офиса, которую я разрабатываю (специально для доступа).
Я добавил пользовательский элемент панели команд в контекстное меню, которое появляется, когда вы щелкаете правой кнопкой мыши по объекту на панели навигации.
Это отлично работает. Добавленный код отладки запускается (в настоящее время это просто команда msgbox). Однако я не могу понять, как это сделать, - получить объект для объекта, привязанного к контекстному меню.
Я бы хотел, чтобы это произошло; Я щелкаю правой кнопкой мыши по модулю на панели навигации, выбираю мой новый пункт меню, и затем появляется окно сообщения с названием модуля, который в данный момент выделен. Как бы я пошел по этому поводу?
Вот как я сейчас работаю с событием:
Public Sub myEventHandler(ByVal ctrl As CommandBarButton, ByRef CancelDefault As Boolean) Handles contextMenu_navPaneObject.Click, contextMenu_navPaneList.Click
MsgBox(Microsoft.VisualBasic.Information.TypeName(ctrl) & vbCrLf & _
Microsoft.VisualBasic.Information.TypeName(ctrl.Parent) & vbCrLf & _
Microsoft.VisualBasic.Information.TypeName(ctrl.Parent.Parent))
End Sub
contextMenu_navPaneObject и contextMenu_navPaneList являются частными объектами, объявленными с использованием «withevents» и имеющими объектный тип commandbarbutton.
Это правильный способ делать то, что я хочу, или есть альтернативный метод, который я должен использовать?