演练:为 Word 创建第一个文档级自定义

本介绍性演练演示如何为 Microsoft Office Word 创建文档级自定义。 仅在打开特定文档时,才能使用此类解决方案中创建的功能。 不能使用文档级自定义来实现整个应用程序的更改,比如,打开任何文档时显示新的功能区选项卡。

适用于: 本主题中的信息适用于 Word 的文档级项目。 有关详细信息,请参阅 Office 应用程序和项目类型提供的功能

本演练阐释了以下任务:

  • 创建 Word 文档项目。

  • 将文本添加到 Visual Studio 设计器中托管的文档。

  • 编写代码,该代码使用 Word 的对象模型在打开时向自定义文档添加文本。

  • 生成并运行项目以对其进行测试。

  • 清理项目以从开发计算机中删除不必要的生成文件和安全设置。

    注释

    以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅 个性化设置 IDE

先决条件

你需要满足以下条件才能完成本演练:

创建项目

在 Visual Studio 中创建新的 Word 文档项目

  1. 启动 Visual Studio。

  2. 在“ 文件 ”菜单上,指向“ 新建”,然后单击“ 项目”。

  3. 在“ 创建新项目 ”对话框中,选择 Word VSTO 文档 项目。

    注释

    还可以通过在“ 创建新项目 ”对话框顶部的“搜索”文本框中键入 Office 产品的名称来搜索模板。 例如,键入 Excel 将显示 Excel 的所有项目模板。 还可以通过选择“项目类型”下拉列表中的 Office 来筛选模板列表,以便仅显示 Office 的模板。 有关详细信息,请参阅 在 Visual Studio 中创建新项目

  4. 单击 “下一步”

  5. 在“配置新项目”对话框的“名称”框中键入 FirstWorkbookCustomization,然后单击“创建”。

  6. Visual Studio Tools for Office 项目向导中选择“创建新文档”,然后单击“确定”。

    • Visual Studio 创建 FirstDocumentCustomization 项目,并将 FirstDocumentCustomization 文档和 ThisDocument 代码文件添加到项目中。 FirstDocumentCustomization 文档在设计器中自动打开。

在设计器中关闭并重新打开文档

如果在开发项目时故意或意外关闭设计器中的文档,可以重新打开它。

关闭文档然后在设计器中再次打开

  1. 通过单击设计器窗口的 “关闭 ”按钮(X)关闭文档。

  2. 解决方案资源管理器中,右键单击 ThisDocument 代码文件,然后单击 “视图设计器”。

    - 或 -

    解决方案资源管理器中,双击 ThisDocument 代码文件。

向设计器中的文档添加文本

可以通过修改设计器中打开的文档来设计自定义的用户界面(UI)。 例如,可以添加文本、表格或 Word 控件。 有关如何使用设计器的详细信息,请参阅 Visual Studio 环境中的 Office 项目

使用设计器向文档添加文本

  1. 在设计器中打开的文档中,键入以下文本。

    此文本是使用设计器添加的。

以编程方式向文档添加文本

接下来,将代码添加到 ThisDocument 代码文件。 新代码使用 Word 的对象模型向文档添加第二段文本。 默认情况下,ThisDocument 代码文件包含以下生成的代码:

  • ThisDocument 的部分定义,表示文档的编程模型,并提供对 Word 对象模型的访问权限。 有关详细信息,请参阅 文档宿主项Word 对象模型概述。 该 ThisDocument 类的其余部分在不应修改的隐藏代码文件中定义。

  • ThisDocument_StartupThisDocument_Shutdown事件处理程序。 打开和关闭文档时会调用这些事件处理程序。 使用这些事件处理程序在打开文档时初始化自定义项,并在文档关闭时清理自定义项使用的资源。 有关详细信息,请参阅 Office 项目中的事件

使用代码向文档添加第二段文本

  1. 解决方案资源管理器中,右键单击 ThisDocument,然后单击“ 查看代码”。

    代码文件将在 Visual Studio 中打开。

  2. 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 解决方案中编写代码

测试项目

要测试您的文档

  1. F5 生成并运行项目。

    生成项目时,代码将编译为与文档关联的程序集。 Visual Studio 将文档和程序集的副本放入项目的生成输出文件夹中,并配置开发计算机上的安全设置,使自定义功能能够正常运行。 有关详细信息,请参阅 生成 Office 解决方案

  2. 在文档中,验证是否看到以下文本。

    此文本是使用设计器添加的。

    此文本是使用代码添加的。

  3. 关闭文档。

清理项目

完成项目开发后,应删除生成输出文件夹中的文件以及生成过程创建的安全设置。

清理开发计算机上的已完成项目

  1. 在 Visual Studio 的 “生成 ”菜单上,单击“ 清理解决方案”。

后续步骤

创建 Word 的基本文档级自定义项后,可以详细了解如何从以下主题开发自定义项: