Office UI Customization
Updated: July 2008
You can programmatically customize the user interface (UI) of Microsoft Office applications by using Visual Studio Tools for Office. The UI features that you can customize include the following:
Actions panes and custom task panes.
Controls on documents.
Custom Ribbon UI.
Outlook form regions.
Menus and toolbars.
The following table compares the main UI features that you can customize in Microsoft Office projects.
Supported project types
Supported Microsoft Office applications
Can the component contain controls?
Yes; Windows Forms controls
Custom task panes
Yes; Windows Forms controls
Outlook form regions
Yes; Windows Forms controls or dedicated Outlook controls
Custom Ribbon UI
Yes; dedicated Ribbon controls
Controls on documents
Application-level add-ins (starting in Visual Studio 2008 Service Pack 1)
Yes; Windows Forms controls and host controls
Application-level add-ins (starting in Visual Studio 2008 SP1)
Menus and toolbars
Menus cannot contain controls
Toolbars can contain buttons
Task panes are user interface panels that are typically docked to one side of a window in a Microsoft Office application. Almost all Microsoft Office applications include built-in task panes. An example of a task pane is the Help task pane in Word.
Visual Studio Tools for Office provides two different ways to customize task panes:
You can add an actions pane to a document-level customization. By default, the actions pane is displayed on the right side of the application, to the right of the document. However, the actions pane can also be displayed to the left, top, or bottom of the document.
You can add a custom task pane to an application-level add-in for the 2007 Microsoft Office system. Users can dock custom task panes to different sides of the application window, or they can drag custom task panes to any location in the window.
Actions panes and custom task panes provide functionality by hosting a variety of controls to help users with tasks such as data entry. Compared to a toolbar, actions panes and custom task panes provide a much larger area to include text and controls.
Smart tags are strings of text that have type information attached to them; when a text string that matches the criteria appears in a document, it is recognized and the user is able to perform actions appropriate for that type of string. For example, you could create a smart tag that recognizes stock symbols. When the user types an uppercase string of four letters, a list of stock-related actions, such as looking up a stock price on the Internet, could appear.
You can use Visual Studio Tools for Office to add smart tags to Word documents and Excel workbooks in document-level customizations. Starting in SP1, you can add smart tags to any open document or workbook by using an application-level project.
For more information, see Smart Tags Overview.
Use form regions to add custom functionality to standard Microsoft Office Outlook 2007 forms. You can create form regions that extend any existing form with additional fields or controls. If you create a new form region by using Visual Studio Tools for Office, you can use only Windows Forms controls on the form region. If you import a form region that was designed in Outlook, then you can use only native Outlook controls.
You can create form regions that occupy different areas of the Outlook UI. For example, adjoining form regions are displayed at the bottom of the first page of a form, and each adjoining form region is collapsible. You can also add a separate form region that is displayed as a full additional form page and that can appear on any existing standard form or custom form.
For more information, see Creating Outlook Form Regions.
You can add a variety of controls to Word documents and Excel worksheets. For example, you might want to add a date picker control to a document so the user can enter dates in a standard format, or put a button on a worksheet to send data to a database.
When you develop document-level projects for Excel or Word, you can use the Visual Studio designer to add controls to the document or workbook in your project at design time, or you can programmatically add controls at run time. Starting in SP1, when you develop application-level projects for Excel or Word, you can programmatically add controls to any open document or workbook at run time.
For more information, see Host Items and Host Controls Overview and Windows Forms Controls on Office Documents Overview.
You can customize the Ribbon UI to expose functionality that you add to applications in the 2007 Microsoft Office system. The Ribbon is a way to organize related commands (in the form of controls) so that they are easier to find. You can create your own Ribbon tabs and groups to give users access to functionality that you provide in your solution. Most of the features that were accessed by using the menus and toolbars in earlier versions of the Microsoft Office system can now be accessed by using the Ribbon.
For more information, see Ribbon Overview.
You can add a menu to the menu bar of a Visual Studio Tools for Office solution and create a customized caption for the menu. You can add menu commands to new or existing menus, and you can remove them. However, customization must be done programmatically. You cannot modify menus or the menu bar from within Visual Studio at design time. For more information, see How to: Create Office Menus Programmatically.
You can add a toolbar to your Visual Studio Tools for Office solution to provide the user with easy access to tools and other document or workbook features. You can customize the toolbar in the same manner that you would customize the built-in toolbars by adding or removing buttons. You can also customize the location and the docking properties of a toolbar through code. However, customization must be done programmatically. You cannot modify toolbars from within Visual Studio at design time. For more information, see How to: Create Office Toolbars Programmatically.
A shortcut menu appears when you right-click in a document in Word or a worksheet in Excel. You can set a shortcut menu to appear after an event takes place in a document, such as when a user right-clicks a document, workbook, or host control. You can add a number of different menu commands just as you would for a menu on the main menu bar. You can change a shortcut menu's location and size through code. For more information, see Walkthrough: Creating Shortcut Menus for Bookmarks.