我一直在度过一段非常艰难的时光。我正在使用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
我很感激您的任何意见。
有什么想法吗?
答案 0 :(得分:0)
我只是有同样的症状。就我而言,我为包含OnAction
控件的CommandBar
控件定义了ComandBarPopup
。包含控件没有任何操作。