本演练演示如何为 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。
先决条件
你需要满足以下条件才能完成本演练:
包含 Microsoft Office 开发人员工具的 Visual Studio 版本。 有关详细信息,请参阅 配置计算机以开发 Office 解决方案。
Microsoft Outlook
创建项目
在 Visual Studio 中创建新的 Outlook 项目
启动 Visual Studio。
在“ 文件 ”菜单上,指向“ 新建”,然后单击“ 项目”。
在模板窗格中,展开 Visual C# 或 Visual Basic,然后展开 Office/SharePoint。
在展开的 Office/SharePoint 节点下,选择 Office 加载项 节点。
在项目模板列表中,选择 Outlook VSTO 外接程序项目。
在 “名称 ”框中,键入 FirstOutlookAddIn。
单击 “确定” 。
Visual Studio 创建 FirstOutlookAddIn 项目,并在编辑器中打开 ThisAddIn 代码文件。
编写将文本添加到每个新邮件的代码
接下来,将代码添加到 ThisAddIn 代码文件。 新代码使用 Outlook 的对象模型向每个新邮件添加文本。 默认情况下,ThisAddIn 代码文件包含以下生成的代码:
类的
ThisAddIn部分定义。 此类为代码提供了一个启动点,并提供对 Outlook 对象模型的访问权限。 有关详细信息,请参阅 程序 VSTO 外接程序。该ThisAddIn类的其余部分在不应修改的隐藏代码文件中定义。ThisAddIn_Startup和ThisAddIn_Shutdown事件处理程序。 当 Outlook 加载和卸载 VSTO 外接程序时,将调用这些事件处理程序。 使用这些事件处理程序在加载 VSTO 外接程序时初始化 VSTO 外接程序,并在卸载 VSTO 外接程序时清理其使用的资源。 有关详细信息,请参阅 Office 项目中的事件。
向每个新邮件的主题和正文添加文本
在 ThisAddIn 代码文件中,声明类中命名
inspectors的ThisAddIn字段。 该inspectors字段维护对当前 Outlook 实例中检查器窗口集合的引用。 此引用可防止垃圾回收器释放包含事件的事件处理程序的 NewInspector 内存。将
ThisAddIn_Startup方法替换为以下代码。 此代码将事件处理程序附加到事件 NewInspector 。在 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 解决方案。
测试项目
生成并运行项目时,请验证文本是否显示在新邮件的主题行和正文中。
测试该项目
按 F5 生成并运行项目。
生成项目时,代码将编译为包含在项目的生成输出文件夹中的程序集。 Visual Studio 还会创建一组注册表项,使 Outlook 能够发现和加载 VSTO 外接程序,并将开发计算机上的安全设置配置为使 VSTO 外接程序能够运行。 有关详细信息,请参阅 Office 解决方案生成过程概述。
在 Outlook 中,创建新的邮件。
验证是否已将以下文本添加到邮件的主题行和正文中。
此文本是使用代码添加的。
关闭 Outlook。
清理项目
完成项目开发后,请从开发计算机中删除 VSTO 外接程序程序集、注册表项和安全设置。 否则,每次在开发计算机上打开 Outlook 时,VSTO 外接程序都会运行。
要清理您的项目
- 在 Visual Studio 的 “生成 ”菜单上,单击“ 清理解决方案”。
后续步骤
创建适用于 Outlook 的基本 VSTO 外接程序后,可以详细了解如何从以下主题开发 VSTO 外接程序:
可以使用适用于 Outlook 的 VSTO 外接程序执行的常规编程任务。 有关详细信息,请参阅 程序 VSTO 外接程序。
使用 Outlook 的对象模型。 有关详细信息,请参阅 Outlook 解决方案。
例如,可以通过在功能区添加自定义选项卡或创建自定义任务窗格,来自定义 Outlook 的 UI。 有关详细信息,请参阅 Office UI 自定义。
生成和调试 Outlook 的 VSTO 外接程序。 有关详细信息,请参阅 生成 Office 解决方案。
为 Outlook 部署 VSTO 外接程序。 有关详细信息,请参阅 部署 Office 解决方案。