Walkthrough: Create your first VSTO Add-in for PowerPoint
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
This walkthrough shows you how to create a VSTO 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 (VSTO).
Applies to: The information in this topic applies to VSTO Add-in projects for PowerPoint. For more information, see Features available by Office application and project type.
This walkthrough illustrates the following tasks:
Creating a PowerPoint VSTO Add-in project for PowerPoint.
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 VSTO Add-in no longer runs automatically on your development computer.
Note
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 Personalize the IDE.
Prerequisites
You need the following components to complete this walkthrough:
An edition of Visual Studio that includes the Microsoft Office developer tools. For more information, see Configure a computer to develop Office solutions.
PowerPoint
Create the project
To create a new project
Start Visual Studio.
On the File menu, point to New, and then click Project.
In the templates pane, expand Visual C# or Visual Basic, and then expand Office/SharePoint.
Under the expanded Office/SharePoint node, select the Office Add-ins node.
In the list of project templates, select a PowerPoint VSTO Add-in project.
In the Name box, type FirstPowerPointAddIn.
Click OK.
Visual Studio creates the FirstPowerPointAddIn project and opens the ThisAddIn code file in the editor.
Write code that adds text to each new slide
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 Program VSTO Add-ins. The remainder of theThisAddIn
class is defined in a hidden code file that you should not modify.The
ThisAddIn_Startup
andThisAddIn_Shutdown
event handlers. These event handlers are called when PowerPoint loads and unloads your VSTO Add-in. Use these event handlers to initialize your VSTO Add-in when it is loaded, and to clean up resources used by your VSTO Add-in when it is unloaded. For more information, see Events in Office projects.
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 Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationNewSlide event of the Application object.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.
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."); }
If you are using C#, add the following code to the
ThisAddIn_Startup
event handler. This code is required to connect theApplication_PresentationNewSlide
event handler with the Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationNewSlide event.this.Application.PresentationNewSlide += new PowerPoint.EApplication_PresentationNewSlideEventHandler( Application_PresentationNewSlide);
To modify each new slide, the previous code examples use the following objects:
The
Application
field of theThisAddIn
class. TheApplication
field returns an Application object, which represents the current instance of PowerPoint.The
Sld
parameter of the event handler for the Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationNewSlide event. TheSld
parameter is a Slide object, which represents the new slide. For more information, see PowerPoint solutions.
Test the project
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 VSTO Add-in, and it configures the security settings on the development computer to enable the VSTO Add-in to run. For more information, see Build Office solutions.
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.
Close PowerPoint.
Clean up the project
When you finish developing a project, remove the VSTO Add-in assembly, registry entries, and security settings from your development computer. Otherwise, the VSTO 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.
Next steps
Now that you have created a basic VSTO Add-in for PowerPoint, you can learn more about how to develop VSTO Add-ins from these topics:
General programming tasks that you can perform in VSTO Add-ins for PowerPoint. For more information, see Program VSTO 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 VSTO Add-ins for PowerPoint. For more information, see Build Office solutions.
Deploying VSTO Add-ins for PowerPoint. For more information, see Deploy an Office solution.