本介绍性演练说明如何创建 Microsoft Office Word 的文档级自定义项。在这种类型的解决方案中创建的功能仅在打开了特定的文档时才可用。不能使用文档级自定义项进行应用程序范围的更改,例如,在打开任何文档时都显示新的功能区选项卡。
**适用于:**本主题中的信息适用于 Word 2013 和 Word 2010 的文档级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能。
本演练阐释了以下任务:
创建 Word 文档项目。
向 Visual Studio 设计器中承载的文档添加文本。
编写使用 Word 的对象模型在自定义的文档打开时向其添加文本的代码。
生成并运行此项目以对它进行测试。
清理此项目以便从开发计算机中移除不必要的生成文件和安全设置。
![]() |
---|
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。 |
系统必备
您需要以下组件来完成本演练:
-
Visual Studio 2012 的一个版本,其中包含 Microsoft Office 开发工具。有关更多信息,请参见[将计算机配置为开发 Office 解决方案](bb398242\(v=vs.110\).md)。
- Word 2013 或 Word 2010。
创建项目
在 Visual Studio 中创建新的 Word 文档项目
启动 Visual Studio。
在**“文件”菜单上指向“新建”,再单击“项目”**。
在模板窗格中,展开 visual C# 或 Visual Basic,然后展开 Office/SharePoint。
在展开的 Office/SharePoint 节点下,选择 Office 加载项 节点。
在项目模板列表中,选择**“Word 2010 文档”或“Word 2013 文档”**。
在**“名称”**框中键入 FirstDocumentCustomization。
单击**“确定”**。
会打开**“Visual Studio Tools for Office 项目向导”**。
选择**“创建新文档”,然后单击“确定”**。
Visual Studio 即会创建 FirstDocumentCustomization 项目,并将 FirstDocumentCustomization 文档和 ThisDocument 代码文件添加到该项目中。FirstDocumentCustomization 文档会自动在设计器中打开。
在设计器中关闭并重新打开文档
如果您在开发项目时在设计器中故意或意外地关闭了文档,则可以重新打开它。
在设计器中关闭并重新打开文档
单击设计器窗口的**“关闭”**按钮 (X) 关闭文档。
在**“解决方案资源管理器”中,右击“ThisDocument”代码文件,然后单击“视图设计器”**。
- 或 -
在**“解决方案资源管理器”中双击“ThisDocument”**代码文件。
在设计器中向文档中添加文本
可以通过修改在设计器中打开的文档来设计自定义项的用户界面 (UI)。例如,您可以添加文本、表或 Word 控件。有关如何使用设计器的更多信息,请参见 Visual Studio 环境中的 Office 项目。
使用设计器向文档中添加文本
在设计器中打开的文档中,键入以下文本。
This text was added by using the designer.
以编程方式向文档中添加文本
接下来,请向 ThisDocument 代码文件添加代码。新的代码使用 Word 的对象模型向该文档中添加另一段文本。默认情况下,ThisDocument 代码文件包含以下生成的代码:
ThisDocument 类的分部定义,此类表示该文档的编程模型,并且通过此类可访问 Word 的对象模型。有关更多信息,请参见文档宿主项和Word 对象模型概述。ThisDocument 类的其余部分在一个隐藏的代码文件中定义,您不应修改此代码文件。
ThisDocument_Startup 和 ThisDocument_Shutdown 事件处理程序。打开和关闭文档时会调用这些事件处理程序。在打开文档时使用这些事件处理程序初始化自定义项,并在关闭文档时使用它们清理自定义项使用的资源。有关更多信息,请参见Office 项目中的事件。
使用代码向该文档中添加另一段文本
在**“解决方案资源管理器”中,右击“ThisDocument”,再单击“查看代码”**。
相应的代码文件即会在 Visual Studio 中打开。
用下面的代码替换 ThisDocument_Startup 事件处理程序。此文档打开后,此代码便会向此文档中添加另一段文本。
Private Sub ThisDocument_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup Me.Paragraphs(1).Range.InsertParagraphAfter() Me.Paragraphs(2).Range.Text = "This text was added by using code." End Sub
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 解决方案。
在此文档中,验证是否出现以下文本。
This text was added by using the designer.
This text was added by using code.
关闭文档。
清理项目
完成项目的开发后,应移除生成输出文件夹中的文件和生成过程创建的安全设置。
在开发计算机上清理已完成的项目
- 在 Visual Studio 的**“生成”菜单中,单击“清理解决方案”**。
后续步骤
既然您已经创建了一个基本的 Word 文档级自定义项,您就可以从下面这些主题中了解关于如何开发自定义项的更多内容:
可以在文档级自定义项中执行的常规编程任务:对文档级自定义项进行编程。
特定于 Word 文档级自定义项的编程任务:Word 解决方案。
使用 Word 的对象模型:Word 对象模型概述。
自定义 Word 的 UI,例如,通过向功能区添加自定义选项卡或创建您自己的操作窗格:Office UI 自定义。
使用扩展 Word 对象是由 Visual Studio 中的 Office 解决方案提供执行例如不可能使用 Word 对象模型中的任务 (,在文档中承载托管控件和绑定 Word 控件绑定到数据使用 Windows 窗体数据绑定模型): 使用扩展对象实现 Word 自动化。
生成和调试 Word 的文档级自定义项:生成 Office 解决方案。
部署 Word 的文档级自定义项:部署 Office 解决方案。