How to create Excel, Word smart tags in
VB.NET, C#, C++ for Office 2013 - 2002
Add-in Express .NET and smart tags
With Add-in Express you can quickly create a new Smart Tag for Microsoft Word, Excel, Outlook (with Word as a default e-mail editor) and PowerPoint in Office 2010, 2007, Office 2003 and 2002 (XP) in VB.NET, C#, C++. A Smart Tag solution based on Add-in Express implements one Smart Tag recognizer, but we call this solution a SmartTag library. This is because the Add-in Express architecture allows you to develop several smart tags within one solution and one recognizer. That is why we regard Smart Tag solutions based on Add-in Express as Smart Tag libraries rather than one SmartTag.
See the most recent documentation in the Add-in Express Developer Guide on how to create a smart tag for Office 2010 - 2002. Now let's build a sample smart tag project for Excel 2007.
1. Create a new smart tag library
Just like in other Microsoft Office customization technologies, Add-in Express implements the Smart Tag library through a special module, the smart tag module. It centralizes the functional code of all smart tags and is a container for the Smart Tag components representing your smart tags. This component allows you to specify recognized words or phrases and to add custom actions related to Smart Tags. To create a new Smart Tag library based on Add-in Express, close all opened solutions, choose "File | New | Project…", select the "Other Projects | Extensibility Projects" item, click the "Smart Tag" icon, and click the OK button.
This will start the wizard that asks you to choose a programming language and then generates the project. When the wizard is finished, the smart tag library solution will be created and opened in Visual Studio. This solution includes the main Smart Tag project with the Smart Tag module and the setup project (optional). The Smart Tag module is a container for Smart Tag components and implements the logic required by the Smart Tag technology.
2. Smart Tag module
SmartTagModule.vb (or SmartTagModule.cs) is the core part of your project. It represents a smart tag library - a set of smart tags that have a common recognizer. The designer of the Smart Tag module allows you to set up the smart tag library properties and to add components onto the module.
3. Add a new smart tag
To add a new SmartTag, select the Smart Tag module, right-click it and choose the Add Smart Tag item in the context menu.
4. Set up the smart tag component
The Smart Tag component provides you with two word recognizing strategies: a) based on the list of words or phrases and b) custom recognition based on an event fired by the host application.
The screenshot below highlights creating a smart tag based on the list of words. The smart tag component is added to the module, its caption is My Smart Tag 1. In the Actions collection editor, there is the only action with caption My Action 1. The Kind property of the component is set to ktList. This value implies using the list of words or phrases supplied in the RecognizedWords property. The String Collection Editor allows adding words or phrases to be recognized by the smart tag.
Then you handle the Click event, say, with the following code:
With these settings and event handlers, the smart tag works in your Excel workbook as shown on the screenshot below.
5. Deploying the smart tag
Add-in Express smart tags are based on the Add-in Express Loader which is a feature-rich shim and bootstrap application.
Included into the automatically generated setup project, the Add-in Express Loader gives you with the following benefits:
See also how to build smart tag for Excel and Word in Delphi.