1
votes

I have Searched many hours on the internet but not found satisfactory so - What is the difference between VSTO Addin & COM Addin (which we make as Class library project and use excel object)? Is there any limitation in VSTO project like it will work for only specific Version of excel.

1

1 Answers

3
votes

A COM Add-in uses the IDTExtensibility2 interface to communicate with an Office application.

VSTO (and any other Office Add-in library such as Add-in Express) bases on and extends this interface. For example, VSTO

  • does a lot of the background work for hooking up the Interface.
  • provides Document-level customizations (code linked to a particular document or template), not just application-level add-ins.
  • extends certain parts of the Word or Excel object model to make them simpler for the .NET developer to work with.
  • enables the developer to place WinForms controls on the Excel or Word document surface or host them in a Custom Task Pane by wrapping them up in a way compatible to the Office technology
  • provides the "plumbing" for data binding to certain native Office objects
  • offers a Ribbon Designer for "simple" Ribbon customizations as an alternative to Ribbon XML.

VSTO works with Office 2007 and later (IDTExtensibility2 was introduced for Office 2000, if I remember correctly). You have to use the correct .NET Framework and VSTO template for the earliest version of Office you plan to support. Add-ins created for earlier versions can be used in later versions of Office without being re-built.

Any add-in based on the Interface is limited to Windows Desktop.