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

本介绍性演练演示了如何创建 Microsoft Office Word 的文档级自定义项。 仅在特定文档处于打开状态时,才可提供你在这种解决方案中创建的功能。 不能使用文档级自定义项进行应用程序范围的更改,例如在任何文档处于打开状态时显示新“功能区”选项卡。

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

本演练阐释了以下任务:

  • 创建 Word 文档项目。

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

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

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

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

    注意

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

先决条件

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

创建项目

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

  1. 启动 Visual Studio。

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

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

    注意

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

  4. 单击“下一步”。

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

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

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

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

如果开发项目时有意或无意关闭了设计器中的文档,则可以重新打开它。

若要关闭并重新打开设计器中的文档

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

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

    - 或 -

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

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

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

使用设计器将文本添加到文档

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

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

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

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

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

  • ThisDocument_StartupThisDocument_Shutdown 事件处理程序。 将在打开或关闭文档时调用这些事件处理程序。 使用这些事件处理程序,可在打开文档时对其进行初始化,并在关闭文档时清理自定义项所使用的资源。 有关详细信息,请参阅办公室项目中的事件。

若要使用代码向文档添加文本的第二个段落

  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。 有关详细信息,请参阅办公室解决方案中的编写代码。

测试项目

测试文档

  1. F5 生成并运行项目。

    生成项目时,会将代码编译到与该文档相关联的程序集中。 Visual Studio 将该文档和程序集的副本放入项目的生成输出文件夹中,并将开发计算机上的安全设置配置为允许自定义项运行。 有关详细信息,请参阅生成办公室解决方案

  2. 验证文档中具有以下文本。

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

    This text was added by using code.

  3. 关闭文档。

清理项目

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

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

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

后续步骤

既然你已经创建了一个基本的 Word 文档级自定义项,你就可以从下面这些主题中了解有关如何开发自定义项的详细信息: