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

本演练演示如何为 Microsoft Office Outlook 创建 VSTO 外接程序。 无论打开哪个 Outlook 项目,在此类解决方案中创建的功能都可供应用程序本身使用。 有关详细信息,请参阅 Office 解决方案开发概述(VSTO)。

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

注释

有兴趣开发跨多个平台扩展 Office 体验的解决方案? 查看新的 Office 加载项模型。 与 VSTO 外接程序和解决方案相比,Office 外接程序占用空间较小,可以使用几乎任何 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 外接程序,并在卸载 VSTO 外接程序时清理其使用的资源。 有关详细信息,请参阅 Office 项目中的事件

向每个新邮件的主题和正文添加文本

  1. 在 ThisAddIn 代码文件中,声明类中命名 inspectorsThisAddIn 字段。 该 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 的当前实例。

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

测试项目

生成并运行项目时,请验证文本是否显示在新邮件的主题行和正文中。

测试该项目

  1. F5 生成并运行项目。

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

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

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

    此文本是使用代码添加的。

  4. 关闭 Outlook。

清理项目

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

要清理您的项目

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

后续步骤

创建适用于 Outlook 的基本 VSTO 外接程序后,可以详细了解如何从以下主题开发 VSTO 外接程序:

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

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

  • 例如,可以通过在功能区添加自定义选项卡或创建自定义任务窗格,来自定义 Outlook 的 UI。 有关详细信息,请参阅 Office UI 自定义

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

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