本介绍性演练演示如何为 Microsoft Office Word 创建文档级自定义。 仅在打开特定文档时,才能使用此类解决方案中创建的功能。 不能使用文档级自定义来实现整个应用程序的更改,比如,打开任何文档时显示新的功能区选项卡。
适用于: 本主题中的信息适用于 Word 的文档级项目。 有关详细信息,请参阅 Office 应用程序和项目类型提供的功能。
本演练阐释了以下任务:
- 创建 Word 文档项目。 
- 将文本添加到 Visual Studio 设计器中托管的文档。 
- 编写代码,该代码使用 Word 的对象模型在打开时向自定义文档添加文本。 
- 生成并运行项目以对其进行测试。 
- 清理项目以从开发计算机中删除不必要的生成文件和安全设置。 - 注释 - 以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅 个性化设置 IDE。 
先决条件
你需要满足以下条件才能完成本演练:
- 包含 Microsoft Office 开发人员工具的 Visual Studio 版本。 有关详细信息,请参阅 配置计算机以开发 Office 解决方案。 
- Microsoft Word 
创建项目
在 Visual Studio 中创建新的 Word 文档项目
- 启动 Visual Studio。 
- 在“ 文件 ”菜单上,指向“ 新建”,然后单击“ 项目”。 
- 在“ 创建新项目 ”对话框中,选择 Word VSTO 文档 项目。 - 注释 - 还可以通过在“ 创建新项目 ”对话框顶部的“搜索”文本框中键入 Office 产品的名称来搜索模板。 例如,键入 Excel 将显示 Excel 的所有项目模板。 还可以通过选择“项目类型”下拉列表中的 Office 来筛选模板列表,以便仅显示 Office 的模板。 有关详细信息,请参阅 在 Visual Studio 中创建新项目。 
- 单击 “下一步” 。 
- 在“配置新项目”对话框的“名称”框中键入 FirstWorkbookCustomization,然后单击“创建”。 
- 从 Visual Studio Tools for Office 项目向导中选择“创建新文档”,然后单击“确定”。 - Visual Studio 创建 FirstDocumentCustomization 项目,并将 FirstDocumentCustomization 文档和 ThisDocument 代码文件添加到项目中。 FirstDocumentCustomization 文档在设计器中自动打开。
 
在设计器中关闭并重新打开文档
如果在开发项目时故意或意外关闭设计器中的文档,可以重新打开它。
关闭文档然后在设计器中再次打开
- 通过单击设计器窗口的 “关闭 ”按钮(X)关闭文档。 
- 在 解决方案资源管理器中,右键单击 ThisDocument 代码文件,然后单击 “视图设计器”。 - - 或 - - 在 解决方案资源管理器中,双击 ThisDocument 代码文件。 
向设计器中的文档添加文本
可以通过修改设计器中打开的文档来设计自定义的用户界面(UI)。 例如,可以添加文本、表格或 Word 控件。 有关如何使用设计器的详细信息,请参阅 Visual Studio 环境中的 Office 项目。
使用设计器向文档添加文本
- 在设计器中打开的文档中,键入以下文本。 - 此文本是使用设计器添加的。 
以编程方式向文档添加文本
接下来,将代码添加到 ThisDocument 代码文件。 新代码使用 Word 的对象模型向文档添加第二段文本。 默认情况下,ThisDocument 代码文件包含以下生成的代码:
- 类 - ThisDocument的部分定义,表示文档的编程模型,并提供对 Word 对象模型的访问权限。 有关详细信息,请参阅 文档宿主项 和 Word 对象模型概述。 该- ThisDocument类的其余部分在不应修改的隐藏代码文件中定义。
- ThisDocument_Startup和- ThisDocument_Shutdown事件处理程序。 打开和关闭文档时会调用这些事件处理程序。 使用这些事件处理程序在打开文档时初始化自定义项,并在文档关闭时清理自定义项使用的资源。 有关详细信息,请参阅 Office 项目中的事件。
使用代码向文档添加第二段文本
- 在 解决方案资源管理器中,右键单击 ThisDocument,然后单击“ 查看代码”。 - 代码文件将在 Visual Studio 中打开。 
- 将 - ThisDocument_Startup事件处理程序替换为以下代码。 打开文档时,此代码会将第二段文本添加到文档中。- private void ThisDocument_Startup(object sender, System.EventArgs e) { this.Paragraphs[1].Range.InsertParagraphAfter(); this.Paragraphs[2].Range.Text = "This text was added by using code."; }- 注释 - 此代码使用索引值 1 访问属性中的 Paragraphs 第一段。 尽管 Visual Basic 和 Visual C# 使用基于 0 的数组,但 Word 对象模型中大多数集合的数组边界较低为 1。 有关详细信息,请参阅 在 Office 解决方案中编写代码。 
测试项目
要测试您的文档
- 按 F5 生成并运行项目。 - 生成项目时,代码将编译为与文档关联的程序集。 Visual Studio 将文档和程序集的副本放入项目的生成输出文件夹中,并配置开发计算机上的安全设置,使自定义功能能够正常运行。 有关详细信息,请参阅 生成 Office 解决方案。 
- 在文档中,验证是否看到以下文本。 - 此文本是使用设计器添加的。 - 此文本是使用代码添加的。 
- 关闭文档。 
清理项目
完成项目开发后,应删除生成输出文件夹中的文件以及生成过程创建的安全设置。
清理开发计算机上的已完成项目
- 在 Visual Studio 的 “生成 ”菜单上,单击“ 清理解决方案”。
后续步骤
创建 Word 的基本文档级自定义项后,可以详细了解如何从以下主题开发自定义项:
- 可以在文档级自定义中进行的常规编程任务:文档级自定义编程。 
- 特定于 Word 文档级自定义项的编程任务: Word 解决方案。 
- 使用 Word 的对象模型: Word 对象模型概述。 
- 例如,通过将自定义选项卡添加到功能区或创建自己的任务窗格来自定义 Word 的用户界面:Office UI 自定义。 
- 使用 Visual Studio 中 Office 解决方案提供的扩展 Word 对象来执行使用 Word 对象模型无法执行的任务(例如,在文档上托管托管控件,并使用 Windows 窗体数据绑定模型将 Word 控件绑定到数据): 使用扩展对象自动执行 Word。 
- 生成和调试 Word 的文档级自定义: 生成 Office 解决方案。 
- 为 Word 部署文档级自定义: 部署 Office 解决方案。