HOWTO: Exposing your VSTO 2005 SE Add-In to External Code

So with regular COM AddIns in Outlook, to expose your COM Add-In to external applications involved setting the Application.ComAddins.Item("ProgID").Object property equal to an instance of the object. Typically, in your OnConnection event handler, you'd do something like this:

Application.ComAddins.Item("PROGID").Object = Me

That allowed external code to get a reference to your COM addin class through its Object property and call public functions on your addin. With VSTO 2005 SE with Outlook 2007, we have a new (better) way of handling this scenario.

There is a new virtual method which you can override and specify ANY object to be set in that value when the add-in is created.

You do this by overriding the RequestComAddinAutomationService method in your VSTO add in. See the following MSDN article: https://msdn2.microsoft.com/en-us/library/microsoft.office.tools.addin.requestcomaddinautomationservice(VS.80).aspx

The article on MSDN actually has a good example of what you need to do. Just realize that you do have to include the attributes on your interface class to make them IDispatch and ComVisible.