演练:创建您的第一个 Word 应用程序级外接程序

更新: 2008 年 7 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 应用程序级项目

Microsoft Office 版本

  • Word 2007

  • Word 2003

有关更多信息,请参见按应用程序和项目类型提供的功能

本介绍性演练说明如何创建 Microsoft Office Word 的应用程序级外接程序。您在这种类型的解决方案中创建的功能对应用程序本身可用,而与所打开的文档无关。

本演练阐释以下任务:

  • 创建 Word 2003 或 Word 2007 的 Word 外接程序项目。

  • 编写使用 Word 的对象模型在文档保存时向其添加文本的代码。

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

  • 清理已完成的项目以使此外接程序不再在开发计算机上自动运行。

说明:

对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您使用的 Visual Studio 版本及设置。有关更多信息,请参见Visual Studio 设置

先决条件

您需要以下组件来完成本演练:

  • Visual Studio Tools for Office(Visual Studio 2008 专业版 和 Visual Studio Team System 的可选组件)。

  • Word 2003 或 Word 2007。

默认情况下,Visual Studio Tools for Office 随列出的 Visual Studio 版本一起安装。若要检查它是否安装在计算机上,请参见安装 Visual Studio Tools for Office

创建项目

在 Visual Studio 中创建新的 Word 外接程序项目

  1. 启动 Visual Studio。

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

  3. 在“项目类型”窗格中,展开“Visual C#”或“Visual Basic”,然后展开“Office”。

  4. 如果您要开发 Word 2007 外接程序,请选择“2007”文件夹;如果您要开发 Word 2003 外接程序,请选择“2003”文件夹。

  5. 在“模板”窗格中,选择“Word 2003 外接程序”或“Word 2007 外接程序”。

  6. 在“名称”框中键入 FirstWordAddIn。

  7. 单击“确定”。

    Visual Studio 即会创建 FirstWordAddIn 项目并在编辑器中打开 ThisAddIn 代码文件。

编写向已保存文档添加文本的代码

接下来,请向 ThisAddIn 代码文件添加代码。新的代码使用 Word 的对象模型向每个已保存文档添加样本文本。默认情况下,ThisAddIn 代码文件包含以下生成的代码:

  • ThisAddIn 类的分部定义。此类提供了代码的入口点,并提供了对 Word 对象模型的访问。有关更多信息,请参见AddIn 宿主项。ThisAddIn 类的其余部分在一个隐藏的代码文件中定义,您不应修改此代码文件。

  • ThisAddIn_Startup 和 ThisAddIn_Shutdown 事件处理程序。当 Word 加载和卸载外接程序时会调用这些事件处理程序。在加载外接程序时使用这些事件处理程序对其进行初始化,并在卸载外接程序时使用它们清理外接程序使用的资源。有关更多信息,请参见 Visual Studio Tools for Office 项目事件

向已保存的文档添加文本段落

  1. 在 ThisAddIn 代码文件中,将下面的代码添加到 ThisAddIn 类中。这段新代码定义了 DocumentBeforeSave 事件的事件处理程序,此事件在文档保存时引发。

    当用户保存文档时,此事件处理程序会将新文本添加到文档开头。

    Private Sub Application_DocumentBeforeSave(ByVal Doc As Word.Document, ByRef SaveAsUI As Boolean, _
        ByRef Cancel As Boolean) Handles Application.DocumentBeforeSave
        Doc.Paragraphs(1).Range.InsertParagraphBefore()
        Doc.Paragraphs(1).Range.Text = "This text was added by using code."
    End Sub
    
    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。有关更多信息,请参见 Visual Basic 与 C# 编程比较

  2. 如果您使用的是 C#,请将以下必需代码添加到 ThisAddIn_Startup 事件处理程序中。此代码用于将 Application_DocumentBeforeSave 事件处理程序与 DocumentBeforeSave 事件连接起来。

    this.Application.DocumentBeforeSave += 
        new Word.ApplicationEvents4_DocumentBeforeSaveEventHandler(Application_DocumentBeforeSave);
    

为了在文档保存后对其进行修改,前面的代码示例使用以下对象:

测试项目

测试项目

  1. 按“F5”生成并运行项目。

    生成项目时,代码会编译成一个程序集,此程序集包含在项目的生成输出文件夹中。Visual Studio 还会创建一组注册表项,通过这些注册表项,Word 能够发现和加载此外接程序;Visual Studio 还将开发计算机上的安全设置配置为允许此外接程序运行。有关更多信息,请参见 Office 解决方案生成过程概述

  2. 在 Word 中,保存活动文档。

  3. 验证以下文本是否添加到了文档中。

    This text was added by using code.

  4. 关闭 Word。

清理项目

完成项目的开发后,请从开发计算机上移除外接程序程序集、注册表项和安全设置。否则,每次在开发计算机上打开 Word 时,此外接程序都将继续运行。

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

  • 在 Visual Studio 中的“生成”菜单中,单击“清理解决方案”。

后续步骤

既然您已经创建了一个基本的 Word 应用程序级外接程序,您就可以从下面这些主题中了解关于如何开发外接程序的更多内容:

请参见

概念

Office 解决方案开发概述

Word 应用程序级外接程序开发

应用程序级外接程序编程

Word 对象模型概述

Office UI 自定义

Visual Studio Tools for Office 项目模板概述

参考

2003 Microsoft Office 外接程序项目模板

2007 Microsoft Office 外接程序项目模板

其他资源

生成和调试 Office 解决方案

部署 Office 解决方案

修订记录

日期

历史记录

原因

2008 年 7 月

新增主题。

信息补充。