Build Office Apps with Add-in Express
Add-in Express simplifies the process of extending Microsoft Office to let you concentrate on adding functionality.
Automating Microsoft Office has never been for the faint of heart. While Visual Studio Tools for Office (VSTO) allows developers to use the Microsoft .NET Framework to create Office add-ins, you often spend as much time writing and debugging the utility code that integrates your add-in with Office as you do actually adding functionality. Even if your add-in worked when installed, the differences between versions of Office could stop your add-in cold if your users upgraded.
Add-in Express dramatically simplifies the process of creating and deploying Office add-ins. For instance, when creating an add-in, you can specify which versions of Office you want to support, beginning with an "Office neutral" option that supports all versions beginning with Office 2000. You can also, when starting your project, specify which Office components you want to support -- Add-in Express automatically generates the necessary support code.
An Add-in Express project includes a loader that handles integration with Office and an "add-in module," where you put the components of your add-in. The module follows the .NET Framework paradigm of having a visual designer, where you place tools and an accompanying code file. Rather than adding new tools to the Toolbox, however, the tools that you use to create your add-in appear at the top of the designer and are activated by being clicked.
It's a great paradigm. For instance, adding a keyboard shortcut is as easy as clicking on the tool to add it to the designer, setting some properties and then adding code to the tool's Action event. Predefined global variables give you access to the object models for the Office components you specified when creating your project. Adding and extending the Office Ribbon menu is equally easy and includes a visual designer that lets you see the result of adding new groups and controls to the Ribbon (see Figure 1). Similar support allows you to visually create new TaskPanes.
[Click on image for larger view.]
|Figure 1. The Add-in Express Ribbon designer lets you put new components on the Office Ribbon by adding tools, setting properties and tying code to events.|
The add-in designer also offers centralized management for Office events -- just add an event tool for an Office component to the designer. Each of the event tools lists all the global events for the Office component (for example, for Excel, the tool includes the SheetActive and NewWorkbook events, among four dozen others). Code you add here is automatically attached to the event in the appropriate Office component.
In addition to general support for Office, Add-in Express offers support for some specific Office technologies. You can use Add-in Express to simplify the process of extending the Outlook shortcut bar, creating SmartTags or creating Excel Real Time Data components (which provide a stream of data to an Excel formula). You'll still have to learn how to manipulate the object models for the various Office components (some of which are especially bizarre), but Add-in Express makes integrating your code into Office almost trivial. I can no longer imagine doing Office development in the .NET Framework without this tool.
The package includes an almost-200-page PDF user guide. Your best strategy for this guide is to read through the sample project you're most interested in first -- earlier sections of the guide assume that you're familiar with later sections. While I tested the 2010 version, Add-in Express works in all versions of Visual Studio since version 2003 and with all versions of Office since version 2000.
Add-in Express 2010 for Microsoft Office and .NET
Add-in Express Ltd.
Price: $349 (standard package)
Quick Facts: An add-in to Visual Studio for creating Office add-ins in the Microsoft .NET Framework
Pros: Solves many problems that Office add-in developers face, including changing the Ribbon, handling version differences and accessing events
Cons: Documentation is written by the application's programmers and translated into English
Peter Vogel is a system architect and principal in PH&V Information Services. PH&V provides full-stack consulting from UX design through object modeling to database design. Peter tweets about his VSM columns with the hashtag #vogelarticles. His blog posts on user experience design can be found at http://blog.learningtree.com/tag/ui/.