更新: 2008 年 7 月
| 适用于 | 
|---|
| 本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 项目类型 
 Microsoft Office 版本 
 有关更多信息,请参见按应用程序和项目类型提供的功能。 | 
本演练演示如何创建 Microsoft Office PowerPoint 的应用程序级外接程序。无论打开的是哪些演示文稿,在这种类型的解决方案中创建的功能对于应用程序本身均可用。有关更多信息,请参见 Office 解决方案开发概述。
本演练阐释以下任务:
- 为 PowerPoint 2003 或 PowerPoint 2007 创建 PowerPoint 外接程序项目。 
- 编写使用 PowerPoint 的对象模型向每张新幻灯片添加文本框的代码。 
- 生成并运行此项目以对它进行测试。 
- 清理项目,使该外接程序在开发计算机上不再自动运行。 
| .gif) 说明: | 
|---|
| 对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您使用的 Visual Studio 版本及设置。有关更多信息,请参见Visual Studio 设置。 | 
先决条件
您需要以下组件来完成本演练:
- Visual Studio Tools for Office(Visual Studio 2008 专业版 和 Visual Studio Team System 的可选组件)。 
- PowerPoint 2003 或 PowerPoint 2007。 
默认情况下,Visual Studio Tools for Office 随列出的 Visual Studio 版本一起安装。若要检查它是否安装在计算机上,请参见安装 Visual Studio Tools for Office。
创建项目
创建新项目
- 启动 Visual Studio。 
- 在“文件”菜单上,指向“新建”,再单击“项目”。 
- 在“项目类型”窗格中,展开“Visual C#”或“Visual Basic”,然后展开“Office”。 
- 如果要为 PowerPoint 2007 开发外接程序,请选择“2007”文件夹;如果要为 PowerPoint 2003 开发外接程序,请选择“2003”文件夹。 
- 在“模板”窗格中,选择“PowerPoint 2007 外接程序”或“PowerPoint 2003 外接程序”。 
- 在“名称”框中,键入 FirstPowerPointAddIn。 
- 单击“确定”。 - Visual Studio 即会创建 FirstPowerPointAddIn 项目并在编辑器中打开“ThisAddIn”代码文件。 
编写向每张新幻灯片中添加文本的代码
接下来,将向 ThisAddIn 代码文件添加代码。新代码使用 PowerPoint 的对象模型向每张新幻灯片添加文本框。默认情况下,ThisAddIn 代码文件包含所生成的以下代码:
- ThisAddIn 类的分部定义。此类提供了代码的入口点,并提供了对 PowerPoint 对象模型的访问。有关更多信息,请参见 AddIn 宿主项。ThisAddIn 类的其余部分在一个隐藏的代码文件中定义,您不应修改此代码文件。 
- ThisAddIn_Startup 和 ThisAddIn_Shutdown 事件处理程序。当 PowerPoint 加载和卸载外接程序时会调用这些事件处理程序。使用这些事件处理程序,可在加载外接程序时对外接程序进行初始化,并在卸载外接程序时清理外接程序所使用的资源。有关更多信息,请参见 Visual Studio Tools for Office 项目事件。 
向每张新幻灯片添加文本框。
- 在 ThisAddIn 代码文件中,将下面的代码添加到 ThisAddIn 类中。此代码为 Microsoft.Office.Interop.PowerPoint.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."); }
- 如果您使用的是 C#,请将以下代码添加到 ThisAddIn_Startup 事件处理程序中。需要使用此代码将 Application_PresentationNewSlide 事件处理程序与 PresentationNewSlide 事件连接起来。 - this.Application.PresentationNewSlide += new PowerPoint.EApplication_PresentationNewSlideEventHandler( Application_PresentationNewSlide);
为了修改每张新幻灯片,前面的代码示例使用以下对象:
- ThisAddIn 类的 Application 字段。Application 字段返回 Microsoft.Office.Interop.PowerPoint.Application 对象,该对象表示 PowerPoint 的当前实例。 
- PresentationNewSlide 事件的事件处理程序的 Sld 参数。Sld 参数是一个表示新幻灯片的 Microsoft.Office.Interop.PowerPoint.Slide 对象。有关更多信息,请参见 PowerPoint 解决方案。 
测试项目
在生成和运行项目时,请验证文本框是否显示在您添加到演示文稿的新幻灯片中。
测试项目
- 按“F5”生成并运行项目。 - 生成项目时,代码会编译成一个程序集,此程序集放在项目的生成输出文件夹中。Visual Studio 还会创建一组注册表项,通过这些注册表项,PowerPoint 能够发现和加载此外接程序;Visual Studio 还将开发计算机上的安全设置配置为允许此外接程序运行。有关更多信息,请参见 Office 解决方案生成过程概述。 
- 在 PowerPoint 中,将新幻灯片添加到活动演示文稿中。 
- 验证下面的文本是否添加到幻灯片顶部的新文本框中。 - This text was added by using code. 
- 关闭 PowerPoint。 
清理项目
完成项目的开发后,请从开发计算机上移除外接程序程序集、注册表项和安全设置。否则,每次在开发计算机上打开 PowerPoint 时,此外接程序都将运行。
清理项目
- 在 Visual Studio 的“生成”菜单中,单击“清理解决方案”。
后续步骤
您已经创建了一个基本的 PowerPoint 应用程序级外接程序,现在可以从下面这些主题中了解有关如何开发外接程序的更多内容:
- 您可以在 PowerPoint 外接程序中执行的常规编程任务。有关更多信息,请参见应用程序级外接程序编程。 
- 使用 PowerPoint 的对象模型。有关更多信息,请参见 PowerPoint 解决方案。 
- 自定义 PowerPoint 的用户界面,例如,向功能区中添加自定义选项卡或创建您自己的自定义任务窗格。有关更多信息,请参见 Office UI 自定义。 
- 生成和调试 PowerPoint 的应用程序级外接程序。有关更多信息,请参见生成和调试 Office 解决方案。 
- 部署 PowerPoint 的应用程序级外接程序。有关更多信息,请参见部署 Office 解决方案。 
请参见
概念
Visual Studio Tools for Office 项目模板概述
参考
2003 Microsoft Office 外接程序项目模板
2007 Microsoft Office 外接程序项目模板
其他资源
修订记录
| 日期 | 修订历史记录 | 原因 | 
|---|---|---|
| 2008 年 7 月 | 新增主题。 | 信息补充。 |