VSTO Add-In for Outlook

This article shows you how to create VSTO Add-in for Outlook.

There is an MSDN article out there but as usual most of the MSDN articles ask you to visualize the IDE development interface by yourself.

The first step is to download and install VSTO if you do not have a later version, https://www.visualstudio.com/vs/office-tools/.

1.      Choose File -> click on “Project… (menu item)”.


2.    Select Office/SharePoint -> VSTO Add-ins -> Outlook 2013 and 2016 VSTO Add-in.


3.      Name your project FirstOutlookAddins.

4.      In the ThisAddIn code file, declare a field named inspectors in the ThisAddIn class. The inspectors field maintains a reference to the collection of Inspector windows in the current Outlook instance. This reference prevents the garbage collector from freeing the memory that contains the event handler for the E:Microsoft.Office.Interop.Outlook.InspectorsEvents_Event.NewInspector event.

public partial class ThisAddIn


        Outlook.Inspectors inspectors;

5.      Replace the ThisAddIn_Startup method with the following code. This code attaches an event handler to the E:Microsoft.Office.Interop.Outlook.InspectorsEvents_Event.NewInspector event.

private void ThisAddIn_Startup(object sender, System.EventArgs e)


    inspectors = this.Application.Inspectors;

    inspectors.NewInspector +=

    new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);


6.      In the ThisAddIn code file, add the following code to the ThisAddIn class. This code defines an event handler for the Microsoft.Office.Interop.Outlook.InspectorsEvents_Event.NewInspector event.

When the user creates a new mail message, this event handler adds text to the subject line and body of the message.

void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)


    Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;

    if (mailItem != null)


        if (mailItem.EntryID == null)


            mailItem.Subject = “This text was added by using code”;

            mailItem.Body = “This text was added by using code”;





Press F5 or click the Run button to test your project.


About chanmingman

Since March 2011 Microsoft Live Spaces migrated to Wordpress (http://www.pcworld.com/article/206455/Microsoft_Live_Spaces_Moves_to_WordPress_An_FAQ.html) till now, I have is over 1 million viewers. This blog is about more than 50% telling you how to resolve error messages, especial for Microsoft products. The blog also has a lot of guidance teaching you how to get stated certain Microsoft technologies. The blog also uses as a help to keep my memory. The blog is never meant to give people consulting services or silver bullet solutions. It is a contribution to the community. Thanks for your support over the years. Ming Man is Microsoft MVP since year 2006. He is a software development manager for a multinational company. With 25 years of experience in the IT field, he has developed system using Clipper, COBOL, VB5, VB6, VB.NET, Java and C #. He has been using Visual Studio (.NET) since the Beta back in year 2000. He and the team have developed many projects using .NET platform such as SCM, and HR based applications. He is familiar with the N-Tier design of business application and is also an expert with database experience in MS SQL, Oracle and AS 400.
This entry was posted in .Net, Community, Computers and Internet, Microsoft Office and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s