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

时间:2010-10-13 21:32:30

标签: vb.net com ms-office add-in

我正在开发一个简单的COM加载项(我专门用于访问)。

我在右键单击导航窗格中的对象时弹出的上下文菜单中添加了一个自定义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的私有对象。

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

1 个答案:

答案 0 :(得分:0)

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

Access.Application.CurrentObjectName()

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

我希望这有助于其他人!