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
Library | Description |
---|---|
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
Tool | Description |
---|---|
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. |
Alternative Technologies
Technology | Description | Weaknesses |
---|---|---|
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 |