Share via


演练:为 Outlook 创建第一个 VSTO 外接程序

本演练显示如何为 Microsoft Office Outlook 创建 VSTO 外接程序。 在此类解决方案中创建的功能可用于应用程序本身,而与所打开的 Outlook 项无关。 有关详细信息,请参阅办公室解决方案开发概述(VSTO)。

适用于: 本主题中的信息适用于 Outlook 的 VSTO 外接程序项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。

注意

有兴趣开发跨多个平台扩展办公室体验的解决方案? 查看新的办公室外接程序模型。 与 VSTO 外接程序和解决方案相比,办公室外接程序的占用空间较小,可以使用几乎任何 Web 编程技术(如 HTML5、JavaScript、CSS3 和 XML)生成它们。

本演练阐释了以下任务:

  • 为 Outlook 创建 Outlook VSTO 外接程序项目。

  • 编写使用 Outlook 对象模型将文本添加到新建邮件的主题和正文的代码。

  • 生成并运行项目,以对其进行测试。

  • 清理已完成的项目,使 VSTO 外接程序在开发计算机上不再自动运行。

    注意

    以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化设置 IDE

先决条件

你需要满足以下条件才能完成本演练:

创建项目

若要在 Visual Studio 中创建 Outlook 项目

  1. 启动 Visual Studio。

  2. “文件” 菜单上,指向 “新建” ,然后单击 “项目”

  3. 在模板窗格中,展开 “Visual C#”“Visual Basic”,然后展开 “Office/SharePoint”

  4. 在展开的 “Office/SharePoint” 节点下方,选择 “Office 外接程序” 节点。

  5. 在项目模板列表中,选择一个 Outlook VSTO 外接程序项目。

  6. “名称” 框中,键入 FirstOutlookAddIn

  7. 单击“确定”。

    Visual Studio 创建 FirstOutlookAddIn 项目,并在编辑器中打开 ThisAddIn 代码文件。

编写将文本添加到每个新邮件的代码

接下来,将代码添加到 ThisAddIn 代码文件。 新代码将使用 Outlook 对象模型将文本添加到每封新建邮件。 默认情况下,ThisAddIn 代码文件包含以下生成的代码:

  • ThisAddIn 类的部分定义。 此类提供代码的入口点,并提供对 Outlook 对象模型的访问权限。 有关详细信息,请参阅 程序 VSTO 外接程序。该 ThisAddIn 类的其余部分在不应修改的隐藏代码文件中定义。

  • ThisAddIn_StartupThisAddIn_Shutdown 事件处理程序。 Outlook 加载和卸载 VSTO 外接程序时会调用这些事件处理程序。 使用这些事件处理程序,可在加载 VSTO 外接程序对其进行初始化,并在卸载 VSTO 外接程序时清理其使用的资源。 有关详细信息,请参阅办公室项目中的事件。

若要将文本添加到每封新建邮件的主题和正文

  1. 在 ThisAddIn 代码文件中,声明 inspectors 类中一个名为 ThisAddIn 的字段。 inspectors 字段保留对当前 Outlook 实例中检查器窗口的集合的引用。 此引用可防止垃圾回收器释放包含 NewInspector 事件的事件处理程序的内存。

    Outlook.Inspectors inspectors;
    
  2. ThisAddIn_Startup 方法替换为以下代码。 此代码会将一个事件处理程序附加到 NewInspector 事件。

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        inspectors = this.Application.Inspectors;
        inspectors.NewInspector +=
        new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
    }
    
  3. 在 ThisAddIn 代码文件中,将下面的代码添加到 ThisAddIn 类中。 此代码定义 NewInspector 事件的一个事件处理程序。

    当用户创建新邮件时,此事件处理程序会将文本添加到邮件的主题行和正文。

    void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
    {
        Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
        if (mailItem != null)
        {
            if (mailItem.EntryID == null)
            {
                mailItem.Subject = "This text was added by using code";
                mailItem.Body = "This text was added by using code";
            }
    
        }
    }
    

    若要修改每封新建邮件,之前的代码示例需使用以下对象:

  • Application 类的 ThisAddIn 字段。 Application 字段返回一个 Application 对象,该对象表示 Outlook 的当前实例。

  • Inspector 事件的事件处理程序的 NewInspector 参数。 Inspector 参数是一个 Inspector 对象,该对象表示新建电子邮件的检查器窗口。 有关详细信息,请参阅 Outlook 解决方案

测试项目

当生成和运行项目时,验证文本是否出现在新建邮件的主题行和正文。

测试项目

  1. F5 生成并运行项目。

    生成项目时,代码会编译成一个程序集,此程序集包含在项目的生成输出文件夹中。 Visual Studio 还会创建一组注册表项,通过这些注册表项,Outlook 能够发现和加载 VSTO 外接程序,Visual Studio 还将开发计算机上的安全设置配置为允许 VSTO 外接程序运行。 有关详细信息,请参阅办公室解决方案生成过程概述

  2. 在 Outlook 中,创建新邮件。

  3. 验证是否将以下文本添加到了邮件的主题行和正文。

    This text was added by using code.

  4. 关闭 Outlook。

清理项目

完成项目开发后,请从开发计算机上删除 VSTO 外接程序程序集、注册表项和安全设置。 否则,每次在开发计算机上打开 Outlook 时 VSTO 外接程序都会运行。

清理项目

  1. 在 Visual Studio 中,在 “生成” 菜单上,单击 “清理解决方案”

后续步骤

你已经创建了一个基本的 Outlook VSTO 外接程序,现在可以从下面这些主题中了解有关如何开发 VSTO 外接程序的详细信息:

  • 可通过使用 Outlook VSTO 外接程序执行的常规编程任务。 有关详细信息,请参阅 程序 VSTO 外接程序

  • 使用 Outlook 对象模型。 有关详细信息,请参阅 Outlook 解决方案

  • 自定义 Outlook 的 UI,例如,通过将自定义选项卡添加到功能区或创建你自己的自定义任务窗格。 有关详细信息,请参阅办公室 UI 自定义

  • 生成和调试 Outlook VSTO 外接程序。 有关详细信息,请参阅生成办公室解决方案

  • 部署 Outlook VSTO 外接程序。 有关详细信息,请参阅部署办公室解决方案