Program Outlook add-in / plugin
in Visual Studio .NET - VB.NET, C#, C++
Add-in Express™
|
| Add-in name, description, and load behavior | |
| Supported Office applications - you choose Outlook | |
| Collection of custom task panes (Office 2007) | |
| Host application name, type, version, and object | |
| When the add-in completes start-up routines or is required to shut down | |
| Before and after a custom task pane is created or shown, before a task pane is destroyed | |
| Before the ribbon XML markup is created and loaded, after ribbon XML markup is loaded |
3. Customizing Outlook Ribbon user interface
Add appropriate Ribbon-related components to the Add-in module and use their editors to customize your add-in's interface in Outlook 2007.

Benefits:
- You create Office 2007 XML markup with components.
- Simple properties add your custom Ribbon tabs or Ribbon Office menu items to any context of the Ribbon-enabled Outlook 2007 Inspector window.
Essential technical information:
| Ribbon tab caption and position | |
| Supported ribbons and context (say, Pivot Table in Excel or table in Word) | |
| Visible (Boolean) |
4. Creating Outlook custom task panes
Add a UserControl to your project, add an item to the TaskPanes collection, and set up the item by choosing the UserControl in the ControlProgId property and filling in the Title property. More about custom task panes.

Benefits:
- You use familiar technologies for programming Outlook 2007 custom task panes.
Essential technical information:
| Task pane title, width and height | |
| The UserControl bound to the task pane | |
| Dock position and dock position restrictions | |
| Outlook as a supported Ribbon-enabled applications | |
| Visible (Boolean) | |
| When the user changes the dock position or the visible state of the task pane | |
| Before and after a custom task pane is created or shown, before a task pane is destroyed |
5. Traditional Outlook command bars and commandbar controls
Add one or more special Outlook Explorer CommandBar and Outlook Inspector CommandBar component to the Add-in Module and populate its Controls collection using a handy editor. Bind the component to a built-in Outlook command bar specifying the command bar name in the component's CommandBarName property. Create a custom command bar specifying a unique name in the CommandBarName property. Use the Folder Name, FolderNames, and ItemTypes properties to add context-sensitivity to your toolbars. See also Add-in Express command bar components.

Benefits:
- Simple Outlook-oriented components to create or connect to custom and built-in toolbars, menus, and context menus.
- Context-sensitive command bars - you specify one ore more folders and/or a folder's default item types for the command bar to show up.
- Add custom .NET controls to Outlook toolbars with Toolbar Controls for Microsoft Office.
Essential technical information:
| Command bar name, description, position, and protection | |
| Folder name(s) and/or a folder's default item types which the command bar is shown for | |
| Boolean properties: Temporary, Enabled, and Usable for Ribbon-enabled applications | |
| Collection of command bar controls: buttons, combo boxes, dropdown lists, edits, popups. | |
| Click - for command bar button | |
| Change – for command bar combo box, dropdown list, and edit | |
| All events for custom .NET controls |
6. Outlook options pages and folder property pages
Add a special Outlook Property Page component to your project, bind the component to the Add-in module, and specify the Title of the Options page. Use the same technique to create context-sensitive property pages for the Folder Properties dialog.

Benefits:
- A simple UserControl-based component to customize Outlook Options dialog and Folder Properties dialog.
- Context-sensitive Folder Property pages.
- Use Dirty and Apply events to handle user input to the pages.
Essentials:
| Folder name(s) and/or a folder's default item types which the folder property page is shown for | |
| All UserControl properties | |
| When the user changes the option page, when the user clicks the Apply button | |
| All UserControl events |
7. Advanced Outlook customization
Use Advanced Outlook Form Regions provided by the Add-in Express Extensions for Microsoft Outlook to customize the Outlook user interface and program commercial-class Outlook add-ins.
8. Intercepting keyboard shortcuts in Outlook add-ins
Add a Keyboard Shortcut component to the Add-in module and specify the shortcut you need to intercept.

Then you handle the Action event of the component.
Private Sub MyActionProc(ByVal sender As System.Object) _
Handles AdxKeyboardShortcut1.Action
MsgBox(AdxKeyboardShortcut1.ShortcutText + " has been pressed!")
End Sub
Benefits:
- The component just saves your time.
Essential technical information:
| Enabled (Boolean) | |
| Shortcut Text | |
| Supported Office Applications | |
| When the keyboard shortcut is pressed by the user |
9. Deploying Outlook add-in
Add-in Express add-ins are based on the Add-in Express Loader which is a feature-rich shim and bootstrap application.

With automatically generated setup project, the Add-in Express Loader provides you with the following benefits:
- Manifest-configured features: setup log, non-admin installation, updating an add-in while it is loaded
- Ready-to-use custom actions for your setup project: just build the setup project
- Per-user and per-computer add-in installations
- You can sign the Add-in Express Loader with a digital certificate thus making your add-ins trusted
More about Deploying add-ins with shims and Add-in Express Loader.



