Addin代码在展望2007和2010中工作,但在展望2013中不工作

本文关键字:工作 2013 代码 2007 Addin 2010 | 更新日期: 2023-09-27 18:22:42

我有一个outlook插件代码,当用户右键单击任何电子邮件时,插件选项都会显示在右键菜单中。Outlook 2007和Outlook 2010会出现这种情况,但当我在Outlook 2013中安装加载项时,该选项不会显示在右键菜单中。

这是我的代码:

Application.ItemContextMenuDisplay += ApplicationItemContextMenuDisplay; 
void ApplicationItemContextMenuDisplay(Office.CommandBar commandBar, Selection selection)
        {
            var cb = commandBar.Controls.Add(Office.MsoControlType.msoControlButton,missing, missing, missing, true) as Office.CommandBarButton;
            if (cb == null) return;
            cb.Visible = true;
            cb.FaceId = 1675;
            cb.Style = Office.MsoButtonStyle.msoButtonIconAndCaption;                                      
            cb.Click += new Office._CommandBarButtonEvents_ClickEventHandler(_oAddEmail_Click);
            ConvergeCRMSetting settings = StateManager.current.CRMSettings;
            if (selection.Count == 1 && selection[1] is Outlook.MailItem)
            {
                var item = (MailItem)selection[1];                         
                string subject = item.Subject;
                cb.Caption = "Add Email To ConvergeHub";
                cb.Enabled = true;                                        
            }
            else
            {
               cb.Enabled = false;
            }
            bool bflag = false;
            if (settings.Verified == true && settings.Active == true)
            {
                bflag = true;
            }
            switch (Convert.ToInt16(settings.Sd))
            {
                case 0:
                    cb.Enabled = false;
                    break;
                case 1:
                    cb.Enabled = bflag;
                    break;
                case 2:
                    cb.Enabled = bflag;
                    break;
                case 3:
                    //rbManual.Checked = true;
                    break;
                default:
                    break;
            }
        }

我必须做些什么才能使加载项选项在Outlook 2013中可见?有什么建议吗?

Addin代码在展望2007和2010中工作,但在展望2013中不工作

Eric自Office 2013以来一直在使用命令栏。我认为这是一件好事。

我建议使用:

  1. VSTO使用Visual Studio提供的功能区设计器。它有一个友好的界面来创建功能区,而不是命令栏。附加事件的工作方式与您在Windows窗体或WPF设计器中习惯的一样。

    在MSDN上阅读有用的内容。

  2. Fluent UI和IRibbonExtensibility绑定到上下文菜单等

    MSDN上的有用读物。

命令栏已被弃用-您必须使用IRibbonExtensibility来自定义Outlook 2013+的上下文菜单:

https://msdn.microsoft.com/EN-US/library/ff865324.aspx

您可以在Outlook 2007中使用旧方法(CommandBars)。但从Outlook 2010开始,Fluent UI用于在Outlook中自定义上下文菜单。你可以在以下文章中阅读更多关于这方面的内容:

  • 在Office 2010 中自定义上下文菜单

  • 在Outlook 2010 中扩展用户界面

Fluent UI(又名Ribbon UI)在以下文章中进行了描述:

  • 为开发人员定制2007 Office Fluent功能区(第1部分,共3部分)

  • 为开发人员定制2007 Office Fluent功能区(第2部分,共3部分)

  • 为开发人员定制2007 Office Fluent功能区(第3部分,共3部分)

功能区设计器不为上下文菜单提供任何内容。您需要使用功能区XML标记来自定义上下文菜单。