Getting Started Programming Application-Level Add-Ins
You can use 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 add-ins compare to other types of Office solutions you can create by using Visual Studio 2010, see Office Solutions Development Overview.
Applies to: The information in this topic applies to application-level projects for Microsoft Office 2010 and the 2007 Microsoft Office system. For more information, see Features Available by Office Application and Project Type.
Create add-in projects by using one of the Office add-in project templates in the New Project dialog box. These templates include required assembly references and project files. Visual Studio 2010 provides add-in project templates for most applications in the 2007 Microsoft Office system and Microsoft Office 2010.
For more information about how to create an add-in project, see How to: Create Office Projects in Visual Studio. For more information about the project templates, see Office Project Templates Overview.
When you create an add-in project, Visual Studio 2010 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 add-in. You can use members of this class to run code when the 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 Programming Application-Level Add-Ins.
The object models of Microsoft Office applications expose many types that you can program against in an 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 Programming Application-Level Add-Ins.
For more information about the object models of specific Microsoft Office applications, see the following topics:
There are several different ways to customize the UI of the host application by using an add-in:
For Excel and Word, you can add managed controls and smart tags to workbooks and documents. For more information, see Extending Word Documents and Excel Workbooks in Application-Level Add-ins at Run Time.
Smart tags are deprecated in Excel 2010 and Word 2010. For more information, see Smart Tags Overview.
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 Overview.
For Outlook, you can create a custom form region. For more information, see Creating Outlook Form Regions.
For all Microsoft Office applications, you can display Windows Forms in your add-in. For more information, see How to: Interact with Windows Forms.
For Office applications that do not support the Ribbon, you can create your own menus and toolbars in the application. For more information, see How to: Add Commands to Shortcut Menus in Excel and How to: Create Office Toolbars.
For more information about how to customize the UI of Microsoft Office applications, see Office UI Customization.
To learn how to create application-level add-ins, see the following walkthroughs:
These walkthroughs introduce you to the Office development tools in Visual Studio and the programming model for application-level 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.