Walkthrough: Creating Your First Application-Level Add-in for PowerPoint
Updated: July 2008
The information in this topic applies only to the specified Visual Studio Tools for Office projects and versions of Microsoft Office.
Microsoft Office version
For more information, see Features Available by Application and Project Type.
This walkthrough shows you how to create an application-level add-in for Microsoft Office PowerPoint. The features that you create in this kind of solution are available to the application itself, regardless of which presentations are open. For more information, see Office Solutions Development Overview.
This walkthrough illustrates the following tasks:
Creating a PowerPoint add-in project for PowerPoint 2003 or PowerPoint 2007.
Writing code that uses the object model of PowerPoint to add a text box to each new slide.
Building and running the project to test it.
Cleaning up the project so that the add-in no longer runs automatically on your development computer.
Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. The Visual Studio edition that you have and the settings that you use determine these elements. For more information, see Visual Studio Settings.
For a related video demonstration, see How Do I: Create an Add-in for Microsoft PowerPoint?.
You need the following components to complete this walkthrough:
Visual Studio Tools for Office (an optional component of Visual Studio 2008 Professional and Visual Studio Team System).
PowerPoint 2003 or PowerPoint 2007.
By default, Visual Studio Tools for Office is installed with the listed versions of Visual Studio. To check whether it is installed on your computer, see Installing Visual Studio Tools for Office.
To create a new project
Start Visual Studio.
On the File menu, point to New, and then click Project.
In the Project Types pane, expand Visual C# or Visual Basic, and then expand Office.
Select the 2007 folder if you are developing an add-in for PowerPoint 2007, or select the 2003 folder if you are developing an add-in for PowerPoint 2003.
In the Templates pane, select PowerPoint 2007 Add-in or PowerPoint 2003 Add-in.
In the Name box, type FirstPowerPointAddIn.
Visual Studio creates the FirstPowerPointAddIn project and opens the ThisAddIn code file in the editor.
Next, add code to the ThisAddIn code file. The new code uses the object model of PowerPoint to add a text box to each new slide. By default, the ThisAddIn code file contains the following generated code:
A partial definition of the ThisAddIn class. This class provides an entry point for your code and provides access to the object model of PowerPoint. For more information, see AddIn Host Item. The remainder of the ThisAddIn class is defined in a hidden code file that you should not modify.
The ThisAddIn_Startup and ThisAddIn_Shutdown event handlers. These event handlers are called when PowerPoint loads and unloads your add-in. Use these event handlers to initialize your add-in when it is loaded, and to clean up resources used by your add-in when it is unloaded. For more information, see Visual Studio Tools for Office Project Events.
To add a text box to each new slide
In the ThisAddIn code file, add the following code to the ThisAddIn class. This code defines an event handler for the PresentationNewSlide event of the Microsoft.Office.Interop.PowerPoint.Application class.
When the user adds a new slide to the active presentation, this event handler adds a text box to the top of the new slide, and it adds some text to the text box.
If you are using C#, add the following code to the ThisAddIn_Startup event handler. This code is required to connect the Application_PresentationNewSlide event handler with the PresentationNewSlide event.
To modify each new slide, the previous code examples use the following objects:
The Application field of the ThisAddIn class. The Application field returns an Microsoft.Office.Interop.PowerPoint.Application object, which represents the current instance of PowerPoint.
The Sld parameter of the event handler for the PresentationNewSlide event. The Sld parameter is a Microsoft.Office.Interop.PowerPoint.Slide object, which represents the new slide. For more information, see PowerPoint Solutions.
When you build and run the project, verify that the text box appears in new slides that you add to a presentation.
To test the project
Press F5 to build and run your project.
When you build the project, the code is compiled into an assembly that is put in the build output folder for the project. Visual Studio also creates a set of registry entries that enable PowerPoint to discover and load the add-in, and it configures the security settings on the development computer to enable the add-in to run. For more information, see Office Solution Build Process Overview.
In PowerPoint, add a new slide to the active presentation.
Verify that the following text is added to a new text box at the top of the slide.
This text was added by using code.
When you finish developing a project, remove the add-in assembly, registry entries, and security settings from your development computer. Otherwise, the add-in will run every time you open PowerPoint on the development computer.
To clean up your project
In Visual Studio, on the Build menu, click Clean Solution.
Now that you have created a basic application-level add-in for PowerPoint, you can learn more about how to develop add-ins from these topics:
General programming tasks that you can perform in add-ins for PowerPoint. For more information, see Programming Application-Level Add-Ins.
Using the object model of PowerPoint. For more information, see PowerPoint Solutions.
Customizing the UI of PowerPoint, for example, by adding a custom tab to the Ribbon or creating your own custom task pane. For more information, see Office UI Customization.
Building and debugging application-level add-ins for PowerPoint. For more information, see Building and Debugging Office Solutions.
Deploying application-level add-ins for PowerPoint. For more information, see Deploying Office Solutions.