Accessing the COMAddins Collection
I have had the question posed to me twice in the last week:
If I am automating Outlook from another application, how do I get a reference to an Outlook COM Add-in created with VSTO 2005?
I responded to a customer, and then I answered it in our forums this morning, here:
Call VSTO Addin Functions from external application?
Bottom line: To Outlook, an add-in created by VSTO looks like a COM add-in to Outlook. It doesn't care that there is a difference (vive la difference!). In the registry, instead of a two-part progID, there is only one, just the name of the assembly. So, for example, I have an add-in called, "OutlookAddin18" running in Outlook right now. I can access it like this:
Dim olapp As Microsoft.Office.Interop.Outlook.Application = New Microsoft.Office.Interop.Outlook.ApplicationClass()
Dim o As Microsoft.Office.Core.COMAddIn
Dim addins As Microsoft.Office.Core.COMAddIns
addins = olapp.COMAddIns
o = addins.Item("OutlookAddin18")
Cool. So simple.
Rock Thought for the Day: I am really wanting to get my hands on the Smashing Pumpkins "Mashed Potatoes" collection of songs. They are from a CD that the band made for close friends. I love rarities like this. I wish there were just a massive rarities mall so that you didn't have to search hither and yon to find what you want. If anyone knows of such a place (forget Ebay, folks; it ain't happenin' there), let me know.
What's the best rarity or bootleg you have ever found?
Rock On