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

本演练演示如何创建 Microsoft Office PowerPoint 的应用程序级外接程序。 无论打开的是哪些演示文稿,在这种类型的解决方案中创建的功能对于应用程序本身均可用。 有关更多信息,请参见 Office 解决方案开发概述

**适用于:**本主题中的信息适用于 PowerPoint 2007 和 PowerPoint 2010 的应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

本演练阐释了以下任务:

  • 为 PowerPoint 创建 PowerPoint 外接程序项目。

  • 编写使用 PowerPoint 的对象模型向每张新幻灯片添加文本框的代码。

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

  • 清理项目,使该外接程序在开发计算机上不再自动运行。

提示

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

链接到视频 有关相关视频演示,请参见 How Do I: Create an Add-in for Microsoft PowerPoint?(如何实现:为 Microsoft PowerPoint 创建外接程序?)。

系统必备

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

-

Visual Studio 2010 的一个版本,其中包含 Microsoft Office 开发工具。有关更多信息,请参见[将计算机配置为开发 Office 解决方案](bb398242\(v=vs.100\).md)。
  • PowerPoint 2007 或 PowerPoint 2010。

创建项目

创建新项目

  1. 启动 Visual Studio。

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

  3. 在“模板”窗格中,展开**“Visual C#”“Visual Basic”,然后展开“Office”**。

  4. 在展开的**“Office”节点下,选择“2007”(如果已安装 PowerPoint 2007)或选择“2010”**节点(如果已安装 PowerPoint 2010)。

  5. 在项目模板列表中,选择**“PowerPoint 2007 外接程序”“PowerPoint 2010 外接程序”**。

  6. 在**“名称”**框中,键入 FirstPowerPointAddIn。

  7. 单击**“确定”**。

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

编写向每张新幻灯片中添加文本的代码

接下来,将向 ThisAddIn 代码文件添加代码。 新代码使用 PowerPoint 的对象模型向每张新幻灯片添加文本框。 默认情况下,ThisAddIn 代码文件包含所生成的以下代码:

  • ThisAddIn 类的分部定义。 此类提供了代码的入口点,并提供了对 PowerPoint 对象模型的访问。 有关更多信息,请参见 应用程序级外接程序编程。 ThisAddIn 类的其余部分在一个隐藏的代码文件中定义,您不应修改此代码文件。

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

向每张新幻灯片添加文本框。

  1. 在 ThisAddIn 代码文件中,将下面的代码添加到 ThisAddIn 类中。 此代码为 Application 对象的 PresentationNewSlide 事件定义事件处理程序。

    当用户将新幻灯片添加到活动演示文稿时,此事件处理程序会将文本框添加到新幻灯片的顶部,然后向文本框中添加一些文本。

    Private Sub Application_PresentationNewSlide(ByVal Sld As PowerPoint.Slide) _
        Handles Application.PresentationNewSlide
        Dim textBox As PowerPoint.Shape = Sld.Shapes.AddTextbox( _
            Office.MsoTextOrientation.msoTextOrientationHorizontal, 0, 0, 500, 50)
        textBox.TextFrame.TextRange.InsertAfter("This text was added by using code.")
    End Sub
    
    void Application_PresentationNewSlide(PowerPoint.Slide Sld)
    {
        PowerPoint.Shape textBox = Sld.Shapes.AddTextbox(
            Office.MsoTextOrientation.msoTextOrientationHorizontal, 0, 0, 500, 50);
        textBox.TextFrame.TextRange.InsertAfter("This text was added by using code.");
    }
    
  2. 如果您使用的是 C#,请将以下代码添加到 ThisAddIn_Startup 事件处理程序中。 需要使用此代码将 Application_PresentationNewSlide 事件处理程序与 PresentationNewSlide 事件连接起来。

    this.Application.PresentationNewSlide += 
        new PowerPoint.EApplication_PresentationNewSlideEventHandler(
        Application_PresentationNewSlide);
    

为了修改每张新幻灯片,前面的代码示例使用以下对象:

  • ThisAddIn 类的 Application 字段。 Application 字段返回 Application 对象,该对象表示 PowerPoint 的当前实例。

  • PresentationNewSlide 事件的事件处理程序的 Sld 参数。 Sld 参数是一个表示新幻灯片的 Slide 对象。 有关更多信息,请参见 PowerPoint 解决方案

测试项目

在生成和运行项目时,请验证文本框是否显示在您添加到演示文稿的新幻灯片中。

测试项目

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

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

  2. 在 PowerPoint 中,将新幻灯片添加到活动演示文稿中。

  3. 验证下面的文本是否添加到幻灯片顶部的新文本框中。

    This text was added by using code.

  4. 关闭 PowerPoint。

清理项目

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

清理项目

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

后续步骤

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

请参见

概念

PowerPoint 解决方案

其他资源

应用程序级外接程序编程

Office UI 自定义

生成和调试 Office 解决方案

部署 Office 解决方案

Office 项目模板概述