Vb.net 如何在office加载项中获取与上下文菜单关联的对象

Vb.net 如何在office加载项中获取与上下文菜单关联的对象,vb.net,com,ms-office,add-in,Vb.net,Com,Ms Office,Add In,我正在为office开发一个简单的COM插件(专门用于access) 我在右键单击导航窗格中的对象时弹出的上下文菜单中添加了一个自定义commandbarbutton项 这个很好用。我添加的调试代码运行(目前只是一个msgbox命令)。但有一件事我不知道怎么做,那就是为绑定到上下文菜单的对象获取一个对象 我希望这种情况发生;我右键单击导航窗格中的某个模块,选择“我的新菜单”选项,然后出现一个消息框,其中包含当前高亮显示的模块名称。我该怎么办 这是我目前处理事件的方式: Public Sub my

我正在为office开发一个简单的COM插件(专门用于access)

我在右键单击导航窗格中的对象时弹出的上下文菜单中添加了一个自定义commandbarbutton项

这个很好用。我添加的调试代码运行(目前只是一个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


这是做我想做的事情的正确方法,还是我应该使用另一种方法?

要做我想做的事情,我需要运行以下方法:

Access.Application.CurrentObjectName()

这返回了我当前突出显示的项目的名称

我希望这能帮助别人