MS Office is one of the most used software solutions in the world – it is installed on virtually all computers and everybody knows how to use it, at least to a certain degree.
One of the reasons for its popularity is its extensibility – its functionality can be enhanced by custom add-ins.
Having professionally developed C# based MS Office addins for more than 10 years, my best recommendations are these:
Best Libraries for Development of MS Office Add-ins
|Add-In Express for MS Office and .NET||Add-In Express is a framework for rapid development of ultra-fast COM add-ins for MS Office. |
Its UI allows interactive creation of Office UI controls (ribbons, context menus, etc.) with intellisense and its encapsulation of MS Office events saves tremendous time.
|Excel-DNA||While Add-In Express supports creation of custom Excel UDFs (User-Defined Functions), Excel-DNA is far more advanced.|
|Outlook Redemption||Redemption provides access to properties and functions not exposed by the MS Office’s COM API.|
|Telerik UI for WPF||Telerik controls dramatically improve the look and functionality of any dialog or a MS Office’s sidebar.|
Best Tools for Development of MS Office Add-ins
|Advanced Installer||Advanced Installer allows you to interactively set up an installer for distribution of your MS Office add-in along with pre-requisites and custom scripts within minutes. No more sleepless nights spent on WIX Toolset!|
|Visual Studio||In my experience, Visual Studio is the most productive IDE available.|
|VBA||Easy development without any additional IDE supported in any MS Office app.||1. The code is very slow|
2. There is no intellisense
3. Versioning of the code is very difficult since the code is a part of the MS Office document
4. Sharing of the code among multiple MS Office documents is very difficult
|VSTO||It’s a legacy technology for development of MS Office add-ins.||1. All visual controls have to be defined in XML with no auto-complete|
2. Problematic distribution – each user has to manually approve its installation
3. Does not support OneNote