Get started programming VSTO Add-ins
You can use VSTO Add-ins to automate Microsoft Office applications, extend features of the application, and customize the user interface (UI) of the application. For information about how VSTO Add-ins compare to other types of Office solutions you can create by using Visual Studio, see Office solutions development overview (VSTO).
Applies to: The information in this topic applies to VSTO Add-in projects. For more information, see Features available by Office application and project type.
Create VSTO Add-in projects
Create VSTO Add-in projects by using one of the VSTO Add-in project templates in the New Project dialog box. These templates include required assembly references and project files. Visual Studio provides VSTO Add-in project templates for most applications in Office.
For more information about how to create a VSTO Add-in project, see How to: Create Office projects in Visual Studio. For more information about the project templates, see Office project templates overview.
Develop VSTO Add-in projects
When you create a VSTO Add-in project, Visual Studio automatically creates a ThisAddIn.vb (in Visual Basic) or ThisAddIn.cs (in C#) code file. This file contains the
ThisAddIn class, which provides the foundation for your VSTO Add-in. You can use members of this class to run code when the VSTO Add-in is loaded or unloaded, to access the object model of the host application, and to extend features of the application. For more information, see Program VSTO Add-Ins.
Automate applications by using the Object models
The object models of Microsoft Office applications expose many types that you can program against in a VSTO Add-in. You can use these types to automate the application. For example, you can programmatically create and send an e-mail message in Outlook, or you can open a document and add content in Word. For more information about how to access the object model of the host application in code, see Program VSTO Add-Ins.
For more information about the object models of specific Microsoft Office applications, see the following topics:
Customize the user interface of applications
There are several different ways to customize the UI of the host application by using a VSTO Add-in:
For Excel and Word, you can add managed controls to documents. For more information, see Extend Word documents and Excel workbooks in VSTO Add-ins at runtime.
You can customize the Ribbon if the application supports it. For more information, see Ribbon overview.
You can create a custom task pane if the application supports it. For more information, see Custom task panes.
For Outlook, you can create a custom form region. For more information, see Create Outlook form regions.
For all Microsoft Office applications, you can display Windows Forms in your VSTO Add-in.
For more information about how to customize the UI of Microsoft Office applications, see Office UI customization.
To learn how to create VSTO Add-ins, see the following walkthroughs:
These walkthroughs introduce you to the Office development tools in Visual Studio and the programming model for VSTO Add-ins.
For a list of topics that walk you through some of the common tasks in Office projects, see Common tasks in Office programming.
We'd love to hear your thoughts. Choose the type you'd like to provide:
Our feedback system is built on GitHub Issues. Read more on our blog.