无法在单词“文本”弹出菜单上的自定义按钮上添加操作

时间:2010-02-03 14:05:31

标签: visual-studio-2010 ms-word contextmenu

我一直在度过一段非常艰难的时光。我正在使用Visual Studio 2010 Beta,在Visual Basic.Net中开发一个单词模板(.dotm)

我正在尝试在单词的文本弹出/上下文菜单中添加自己的按钮。但是,如果我使用.OnAction属性,我会在单词中收到错误信息,说明以下内容:

由于您的宏安全设置

,无法找到或已禁用宏

我假设我收到此错误,因为它无法找到我正在尝试调用的子(名称是正确的,它位于同一个类中)。

我尝试了一种不同的方法,即WithEvents,但是它将事件与我添加到菜单栏的最后一个按钮相关联。

我尝试的第三种方法是AddHandler,一次点火就不再发生了。

以下是我使用的代码:

For Each myItem In activeDoc.CommandBars
        If myItem.Type = Microsoft.Office.Core.MsoBarType.msoBarTypePopup And myItem.Name = officeMenuName Then
            shortMenu = Me.activeDoc.CommandBars(myItem.Index).Controls
            shortPopup = shortMenu.Add(Type:=Office.MsoControlType.msoControlPopup, Temporary:=True)

            With shortPopup
                .Caption = menuName
                .Visible = True
            End With

            For i = LBound(menuItems) To UBound(menuItems)

                shortItem = shortPopup.Controls.Add(Type:=Office.MsoControlType.msoControlButton, Temporary:=True)
                AddHandler shortItem.Click, AddressOf shortMenuNu

                With shortItem
                    .Caption = menuHeader(i)
                    .Visible = True
                    .Tag = menuItems(i)

                    .OnAction = "shortMenuItem_Click" 'where the name of the sub resides in the same class
                    'or AddHandler shortItem.Click, AddressOf shortMenuItem_Click
                End With

                shortItem = Nothing
            Next
        End If
    Next  

我很感激您的任何意见。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我只是有同样的症状。就我而言,我为包含OnAction控件的CommandBar控件定义了ComandBarPopup。包含控件没有任何操作。