我正在尝试将Outlook 2010 vsto AddIn迁移到Outlook 2013.除了尝试添加上下文菜单的一个问题外,一切都很顺利。
当我在Outlook 2010中运行以下代码时,它会添加一个"与Gradwell"到菜单 - 快乐的日子!
Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
AddHandler Application.ItemContextMenuDisplay, AddressOf Application_ItemContextMenuDisplay
End Sub
Sub Application_ItemContextMenuDisplay(ByVal CommandBar As Microsoft.Office.Core.CommandBar, ByVal Selection As Microsoft.Office.Interop.Outlook.Selection)
If Selection.Count = 1 Then
If Selection.Item(1).class = olContactclass Then
CallContactButton = CommandBar.Controls.Add(Office.MsoControlType.msoControlButton)
With CallContactButton
.BeginGroup = True
.Caption = "Call contact with Gradwell"
.Parameter = Selection.Item(1).EntryID
.FaceId = 17
End With
End If
End If
End Sub
但是,当我在Outlook 2013中运行代码时,菜单不会出现。
当我通过代码调试时,Sub Application_ItemContextMenuDisplay甚至不会触发。
有人可以建议为什么这不起作用吗?
由于
答案 0 :(得分:1)
我有同样的问题。似乎已删除这些事件(请检查:http://msdn.microsoft.com/en-us/library/office/ee836188.aspx#OL14DevRef_ChangesSince2007)
此外,在2013年的文件中,事件没有显示(请点击此处:http://msdn.microsoft.com/en-us/library/jj236930%28v=office.15%29.aspx)
我正在研究Ribbon XML,这似乎是解决方案。但这也意味着你需要两个插件。一个RibbonXML用于更改上下文菜单,另一个用于实际执行某些操作。