演练:为 Word 创建第一个 VSTO 外接程序
本介绍性演练说明如何创建 Microsoft Office Word 的 VSTO 外接程序。 你在此类解决方案中创建的功能可用于应用程序本身,而与所打开的文档无关。
适用于: 本主题中的信息适用于 Word 的 VSTO 外接程序项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。
本演练阐释了以下任务:
创建 Word VSTO 外接程序项目。
编写代码,使用 Word 的对象模型在保存文档时向文档中添加文本。
生成并运行项目,以对其进行测试。
清理已完成的项目,使 VSTO 外接程序在开发计算机上不再自动运行。
注意
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化设置 IDE。
先决条件
你需要满足以下条件才能完成本演练:
Visual Studio 的一个版本,其中包含 Microsoft 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 外接程序时清理其使用的资源。 有关详细信息,请参阅办公室项目中的事件。
向已保存的文档添加文本段落
在 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。 有关详细信息,请参阅办公室解决方案中的编写代码。
如果你使用的是 C#,请将以下必需代码添加到
ThisAddIn_Startup
事件处理程序中。 此代码用于将Application_DocumentBeforeSave
事件处理程序与 DocumentBeforeSave 事件连接在一起。this.Application.DocumentBeforeSave += new Word.ApplicationEvents4_DocumentBeforeSaveEventHandler(Application_DocumentBeforeSave);
为了在保存文档后对其进行修改,前面的代码示例使用以下对象:
Application
类的ThisAddIn
字段。Application
字段返回一个 Application 对象,该对象表示 Word 的当前实例。Doc
事件的事件处理程序的 DocumentBeforeSave 参数。Doc
参数是一个 Document 对象,用于表示已保存的文档。 有关详细信息,请参阅 Word 对象模型概述。
测试项目
测试项目
按 F5 生成并运行项目。
生成项目时,代码会编译成一个程序集,此程序集包含在项目的生成输出文件夹中。 Visual Studio 还会创建一组注册表项,通过这些注册表项,Word 能够发现和加载 VSTO 外接程序,Visual Studio 还将开发计算机上的安全设置配置为允许 VSTO 外接程序运行。 有关详细信息,请参阅生成办公室解决方案。
在 Word 中,保存活动文档。
验证下面的文本是否已添加到文档中。
This text was added by using code.
关闭 Word。
清理项目
完成项目开发后,请从开发计算机上删除 VSTO 外接程序程序集、注册表项和安全设置。 否则,每次在开发计算机上打开 Word 时,VSTO 外接程序都将继续运行。
在开发计算机上清理已完成的项目
- 在 Visual Studio 中,在 “生成” 菜单上,单击 “清理解决方案”。
后续步骤
既然你已经创建了一个基本的 Word VSTO 外接程序,就可以从下面这些主题中了解有关如何开发 VSTO 外接程序的详细信息:
可在 VSTO 外接程序中执行的常规编程任务: 对 VSTO 外接程序进行编程。
特定于 Word VSTO 外接程序的编程任务: Word 解决方案。
使用 Word 的对象模型: Word 对象模型概述。
例如,通过将自定义选项卡添加到功能区或创建自己的自定义任务窗格来自定义 Word 的 UI:办公室 UI 自定义。
生成和调试 Word 的 VSTO 外接程序:生成办公室解决方案。
为 Word 部署 VSTO 外接程序:部署办公室解决方案。