本介绍性演练演示如何为 Microsoft Office Word 创建 VSTO 外接程序。 无论打开了哪些文档,都可以在此类解决方案中创建的功能提供给应用程序本身。
适用于: 本主题中的信息适用于 Word 的 VSTO 外接程序项目。 有关详细信息,请参阅 Office 应用程序和项目类型提供的功能。
本演练阐释了以下任务:
创建 Word VSTO 外接程序项目。
编写代码,该代码使用 Word 的对象模型在保存文档时向文档添加文本。
生成并运行项目以对其进行测试。
清理已完成的项目,以便 VSTO 外接程序不再在开发计算机上自动运行。
注释
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅 个性化设置 IDE。
先决条件
你需要满足以下条件才能完成本演练:
包含 Microsoft Office 开发人员工具的 Visual Studio 版本。 有关详细信息,请参阅 配置计算机以开发 Office 解决方案。
Microsoft Word
创建项目
在 Visual Studio 中创建新的 Word VSTO 外接程序项目
启动 Visual Studio。
在“ 文件 ”菜单上,指向“ 新建”,然后单击“ 项目”。
在模板窗格中,展开 Visual C# 或 Visual Basic,然后展开 Office/SharePoint。
在展开的 Office/SharePoint 节点下,选择 Office 加载项 节点。
在项目模板列表中,选择 Word VSTO 外接程序项目。
在 “名称 ”框中,键入 FirstWordAddIn。
单击 “确定” 。
Visual Studio 创建 FirstWordAddIn 项目,并在编辑器中打开 ThisAddIn 代码文件。
编写代码以向保存的文档添加文本
接下来,将代码添加到 ThisAddIn 代码文件。 新代码使用 Word 的对象模型向每个保存的文档添加样本文本。 默认情况下,ThisAddIn 代码文件包含以下生成的代码:
类的
ThisAddIn部分定义。 此类为代码提供入口点,并让您可以访问 Word 的对象模型接口。 有关详细信息,请参阅 程序 VSTO 外接程序。该ThisAddIn类的其余部分在不应修改的隐藏代码文件中定义。ThisAddIn_Startup和ThisAddIn_Shutdown事件处理程序。 当 Word 加载和卸载 VSTO 外接程序时,将调用这些事件处理程序。 使用这些事件处理程序在加载 VSTO 外接程序时初始化 VSTO 外接程序,并在卸载 VSTO 外接程序时清理其使用的资源。 有关详细信息,请参阅 Office 项目中的事件。
向保存的文档添加文本段落
在 ThisAddIn 代码文件中,将以下代码添加到
ThisAddIn类。 新代码定义了一个用于 DocumentBeforeSave 事件的事件处理程序,该事件在保存文档时被触发。当用户保存文档时,事件处理程序会在文档开头添加新文本。
void Application_DocumentBeforeSave(Word.Document Doc, ref bool SaveAsUI, ref bool Cancel) { Doc.Paragraphs[1].Range.InsertParagraphBefore(); Doc.Paragraphs[1].Range.Text = "This text was added by using code."; }注释
此代码使用索引值 1 来访问集合中的 Paragraphs 第一段。 尽管 Visual Basic 和 Visual C# 使用基于 0 的数组,但 Word 对象模型中大多数集合的数组边界较低为 1。 有关详细信息,请参阅 在 Office 解决方案中编写代码。
如果使用 C#,请将以下必需的代码添加到
ThisAddIn_Startup事件处理程序。 此代码用于将Application_DocumentBeforeSave事件处理程序与 DocumentBeforeSave 事件连接。this.Application.DocumentBeforeSave += new Word.ApplicationEvents4_DocumentBeforeSaveEventHandler(Application_DocumentBeforeSave);若要在保存文档时修改文档,前面的代码示例使用以下对象:
Application类的ThisAddIn字段。 该Application字段返回一个 Application 对象,该对象表示 Word 的当前实例。DocumentBeforeSave事件的处理程序的
Doc参数。 参数Doc是一个 Document 对象,表示保存的文档。 有关详细信息,请参阅 Word 对象模型概述。
测试项目
测试该项目
按 F5 生成并运行项目。
生成项目时,代码将编译为包含在项目的生成输出文件夹中的程序集。 Visual Studio 还会创建一组注册表项,使 Word 能够发现和加载 VSTO 外接程序,并将开发计算机上的安全设置配置为使 VSTO 外接程序能够运行。 有关详细信息,请参阅 生成 Office 解决方案。
在 Word 中,保存活动文档。
验证是否已将以下文本添加到文档中。
此文本是使用代码添加的。
关闭 Word。
清理项目
完成项目开发后,请从开发计算机中删除 VSTO 外接程序程序集、注册表项和安全设置。 否则,每次在开发计算机上打开 Word 时,VSTO 外接程序将继续运行。
清理开发计算机上的已完成项目
- 在 Visual Studio 的 “生成 ”菜单上,单击“ 清理解决方案”。
后续步骤
创建适用于 Word 的基本 VSTO 外接程序后,可以详细了解如何从以下主题开发 VSTO 外接程序:
可在 VSTO 外接程序中执行的常规编程任务: 对 VSTO 外接程序进行编程。
特定于 Word VSTO 外接程序的编程任务: Word 解决方案。
使用 Word 的对象模型: Word 对象模型概述。
通过在功能区添加自定义选项卡或创建自定义任务窗格来实现 Word 的 UI 定制:Office UI 自定义。
生成和调试 Word 的 VSTO 外接程序: 生成 Office 解决方案。
为 Word 部署 VSTO 外接程序: 部署 Office 解决方案。