VSTO Outlook 2013 AddHandler Application.ItemContextMenuDisplay Not Firing

时间:2013-10-10 10:54:23

标签: vb.net outlook vsto

我正在尝试将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甚至不会触发。

有人可以建议为什么这不起作用吗?

由于

1 个答案:

答案 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用于更改上下文菜单,另一个用于实际执行某些操作。