Deploying a Customized Ribbon and Quick Access Toolbar in Office 2010

Summary: Deploying a customized Ribbon and Quick Access Toolbar is an often requested action for developers and administrators. Learn how to deploy a customized Microsoft Office UI to users, place the file at a particular location, and restrict further customizations. (8 printed pages)

Applies to: Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Word 2010

Published:   November 2009

Provided by:   Melissa Kerr, Microsoft Corporation

Contents

  • Overview of Deploying Custom Fluent User Interface Files

  • Deploying the User Interface to a Wide Range of Users

  • Example of an *.exportedUI UI Customization File

  • Using Scripts to Place the UI Customization Files

  • Using Administrative Policies to Restrict UI Customizations

  • Conclusion

  • Additional Resources

Overview of Deploying Custom Fluent User Interface Files

The Microsoft Office Fluent User Interface (UI) includes the Ribbon and the Quick Access Toolbar. These items are customized by using XML to define the components of the UI and with programming code, also known as callback procedures, to give the components their functionality. Customizing the UI is simply a matter of updating the XML and, optionally, updating or adding new callback procedures.

You can add the updated XML to a single program file by modifying the Microsoft Office Open XML file. This is completed by opening the file as a Zip package, inserting a part that contains the XML, and then updating the relationship part so that it is recognized as part of the package. You can also add the updated XML to the Office 2010 application so that the customized UI is available in any file opened in the application. You can do this by creating a COM add-in that loads when the application starts.

You can also customize the UI by placing an *.officeUI file in a specific location on a user’s computer. Then, the next time that the user starts the application, the customized UI is displayed.

This article provides an example of a customization file and how it is deployed to a group of users. It also demonstrates how you can restrict further customization to the UI files after deployment.

Deploying the User Interface to a Wide Range of Users

Assume that you have customized the UI in your Office 2010 application. What if you want the customized UI to be distributed to a wide range of users? How do you do this? When you customize the UI in a particular application, Office 2010 creates an *.officeUI file for that application that contains the customization XML. With this understanding, you can do one of the following.

  • Modify an existing *.officeUI file with the desired customizations by updating the XML code.

  • Create the desired customizations by using the Customization dialog in the Microsoft Office application, apply the customizations, and then browse to the *.officeUI file.

Note

If you reset the UI customizations to the default, the *.officeUI file is replaced.

When the *.officeUI file is available, you can then use a script to load the file onto the user’s computer upon log in. An example of this kind of script is presented later in this article.

Note

Any customizations to the Ribbon UI or Quick Access Toolbar are removed when the new *.officeUI file is loaded.

The value of the "*" depends on the particular Office 2010 application as seen in the following table.

Table 1. Information about *.officeUI files

Application

Description Of .Ribbon File

.officeUI File Name

Outlook 2010

Outlook Explorer

olkexplorer.officeUI

Outlook 2010

Contact

olkaddritem.officeUI

Outlook 2010

Appointment/Meeting (organizer on compose, organizer after compose, attendee)

olkapptitem.officeUI

Outlook 2010

Contact Group (formerly known as Distribution List)

olkdlstitem.officeUI

Outlook 2010

Journal Item

olklogitem.officeUI

Outlook 2010

Mail Compose

olkmailitem.officeUI

Outlook 2010

Mail Read

olkmailread.officeUI

Outlook 2010

Multimedia Message Compose

olkmmsedit.officeUI

Outlook 2010

Multimedia Message Read

olkmmsread.officeUI

Outlook 2010

Received Meeting Request

olkmreqread.officeUI

Outlook 2010

Forward Meeting Request

olkmreqsend.officeUI

Outlook 2010

Post Item Compose

olkpostitem.officeUI

Outlook 2010

Post Item Read

olkpostread.officeUI

Outlook 2010

NDR

olkreportitem.officeUI

Outlook 2010

Send Again Item

olkresenditem.officeUI

Outlook 2010

Counter Response to a Meeting Request

olkrespcounter.officeUI

Outlook 2010

Received Meeting Response

olkresponseread.officeUI

Outlook 2010

Edit Meeting Response

olkresponsesend.officeUI

Outlook 2010

RSS Item

olkrssitem.officeUI

Outlook 2010

Sharing Item Compose

olkshareitem.officeUI

Outlook 2010

Sharing Item Read

olkshareread.officeUI

Outlook 2010

Text Message Compose

olksmsedit.officeUI

Outlook 2010

Text Message Read

olksmsread.officeUI

Outlook 2010

Task Item (Task/Task Request, etc.)

olktaskitem.officeUI

Access 2010

Access Ribbon

Access.officeUI

Excel 2010

Excel Ribbon

Excel.officeUI

InfoPath 2010

InfoPath Designer Ribbon

IPDesigner.officeUI

InfoPath 2010

InfoPath Editor Ribbon

IPEditor.officeUI

OneNote 2010

OneNote Ribbon

OneNote.officeUI

PowerPoint

PowerPoint Ribbon

PowerPoint.officeUI

Project 2010

Project Ribbon

MSProject.officeUI

Publisher 2010

Publisher Ribbon

Publisher.officeUI

*SharePoint 2010

SharePoint Workspaces Ribbon

GrooveLB.officeUI

*SharePoint 2010

SharePoint Workspaces Ribbon

GrooveWE.officeUI

SharePoint Designer 2010

SharePoint Designer Ribbon

spdesign.officeUI

Visio 2010

Visio Ribbon

Visio.officeUI

Word 2010

Word Ribbon

Word.officeUI

Note

The product name is SharePoint Workspaces but the file name is still GrooveLB.officeUI or GrooveWE.officeUI.

You can follow these steps in Office 2010 to customize the UI and create an *.officeUI file.

To customize the Ribbon

  • On the File tab, click Options, and then click Customize Ribbon to open the Ribbon customization dialog.

To customize the Quick Access Toolbar

  • On the File tab, click Options, and then click Quick Access Toolbar to open the Quick Access Toolbar customization dialog.

You can also export your Ribbon and Quick Access Toolbar customizations into a file that you can then use to on other computers.

To export Ribbon or Quick Access Toolbar customizations

  1. On the File tab, click Options, click Customize Ribbon or Quick Access Toolbar.

  2. Create your customizations, click Import/Export, and then click Export all customizations.

You can use the *.exportedUI file to create the same customizations on another computer by importing the file.

To import a *.exportedUI customization file

  1. On the File tab, click Options, click Customize Ribbon or Quick Access Toolbar.

  2. Click Import/Export, and then click Import customization file. Navigate to the *.exportedUI you created previously.

Example of an *.exportedUI UI Customization File

The following listing is an example of an *.exportedUI customization file for Microsoft Excel.

Note

The difference between the *.exportedUI and the *.officeUI files is that a metadata tag (<mso:cmd>) is added to the *.exportedUI  file. If an *.exportedUI file is incorrectly identified and is placed in the \AppData\ directory as an *.officeUI file, then the file would fail to parse and not apply any customizations.

<mso:customUI xmlns:mso="https://schemas.microsoft.com/office/2009/07/customui">
   <mso:ribbon>
   <mso:qat/>
      <mso:tabs>
         <mso:tab idQ="mso:TabHome" visible="false"/>
         <mso:tab id="mso_c1.23401CCC" label="My Favourites" insertBeforeQ="mso:TabInsert">
            <mso:group id="mso_c2.23401CCC" label="File tab" imageMso="ViewFullScreenView" highDensityLayout="true">
               <mso:control idQ="mso:FileSendAsAttachment" visible="true"/>
               <mso:control idQ="mso:AccessibilityChecker" visible="true"/>
               <mso:control idQ="mso:FileOpenRecentFile" visible="true"/>
            </mso:group>
            <mso:group id="mso_c3.23414227" label="Alignment" imageMso="LeftArrow2" autoScale="true">
               <mso:control idQ="mso:AlignTopExcel" visible="true"/>
               <mso:control idQ="mso:AlignMiddleExcel" visible="true"/>
               <mso:control idQ="mso:AlignBottomExcel" visible="true"/>
               <mso:control idQ="mso:WrapText" visible="true"/>
               <mso:control idQ="mso:BorderDoubleBottom" visible="true"/>
               <mso:control idQ="mso:BorderThickOutside" visible="true"/>
            </mso:group>
            <mso:group id="mso_c4.2341A4DF" label="Workbook" imageMso="TableSelect" autoScale="true">
               <mso:control idQ="mso:SortCustomExcel" visible="true"/>
               <mso:control idQ="mso:ConditionalFormattingHighlightTextContaining" visible="true"/>
               <mso:gallery idQ="mso:ConditionalFormattingColorScalesGallery" showInRibbon="false" visible="true"/>
               <mso:control idQ="mso:SheetColumnsDelete" visible="true"/>
               <mso:control idQ="mso:SheetRowsDelete" visible="true"/>
               <mso:control idQ="mso:FormatCellsNumberDialog" visible="true"/>
            </mso:group>
            <mso:group id="mso_c5.2342E20D" label="Charts" imageMso="Chart3DColumnChart" highDensityLayout="true">
               <mso:gallery idQ="mso:ChartTypeColumnInsertGallery" showInRibbon="false" visible="true"/>
               <mso:gallery idQ="mso:ChartTypeLineInsertGallery" showInRibbon="false" visible="true"/>
               <mso:control idQ="mso:InsertLineSparkline" visible="true"/>
               <mso:control idQ="mso:InsertColumnSparkline" visible="true"/>
               <mso:control idQ="mso:InsertWinLossSparkline" visible="true"/>
            </mso:group>
            <mso:group id="mso_c6.23434764" label="Other" imageMso="TagMarkComplete" autoScale="true">
               <mso:control idQ="mso:PrintAreaSetPrintArea" visible="true"/>
               <mso:control idQ="mso:CalculateSheet" visible="true"/>
               <mso:control idQ="mso:RefreshAll" visible="true"/>
               <mso:control idQ="mso:Spelling" visible="true"/>
               <mso:gallery idQ="mso:ViewFreezePanesGallery" showInRibbon="false" visible="true"/>
            </mso:group>
            <mso:group id="mso_c1.234A023A" label="Review" imageMso="Delete" autoScale="true">
               <mso:control idQ="mso:ReviewNewComment" visible="true"/>
               <mso:control idQ="mso:ReviewDeleteComment" visible="true"/>
               <mso:control idQ="mso:ReviewPreviousComment" visible="true"/>
               <mso:control idQ="mso:ReviewNextComment" visible="true"/>
            </mso:group>
            <mso:group id="mso_c2.234A3E6F" label="Macros" imageMso="ResultsPaneStartFindAndReplace" highDensityLayout="true">
               <mso:control idQ="mso:PlayMacro" visible="true"/>
               <mso:control idQ="mso:MacroRecord" visible="true"/>
            </mso:group>
         </mso:tab>
         <mso:tab idQ="mso:TabInsert" visible="false"/>
         <mso:tab idQ="mso:TabPageLayoutExcel" visible="false"/>
         <mso:tab idQ="mso:TabFormulas" visible="false"/>
         <mso:tab idQ="mso:TabData" visible="false"/>
         <mso:tab idQ="mso:TabReview" visible="false"/>
         <mso:tab idQ="mso:TabView" visible="false"/>
         <mso:tab idQ="mso:TabAddIns" visible="false"/>
         <mso:tab idQ="mso:TabBackgroundRemoval" visible="false"/>
      </mso:tabs>
   </mso:ribbon>
</mso:customUI>

The XML code adds custom tabs with various controls. It also hides several built-in tabs.

Using Scripts to Place the UI Customization Files

As stated previously, you can use operating system scripts to place the *.officeUI file onto the user’s computer. These scripts are run when the user logs on to her computer. The exact location of the file depends on whether the policy regkey is set on the user’s computer. The *.officeUI file is located at one of the following locations.

Roaming Registry key is not set: %LocalAppData%\Microsoft\Office\*.officeUI

Roaming Registry key is set: %AppData%\Microsoft\Office\*.officeUI

You can find more information on configuring roaming user profiles in the article Configuring Roaming User Profiles.

The following code is an example of a script to copy .officeUI files.

@echo off  

rem A basic script to copy .officeUI files from a network share into the user's local AppData directory, if no .officeUI file currently exists there.

rem Can easily be modified to use the roaming AppData directory (replace %localappdata% with %appdata%) or to include additional ribbon customizations.   

setlocal

set userdir=%localappdata%\Microsoft\Office

set remotedir=\\MyServer\LogonFiles\public\OfficeUI  

for %%r in (Word Excel PowerPoint) do if not exist %userdir%\%%r.officeUI cp %remotedir%\%%r.officeUI %userdir%\%%r.officeUI

endlocal

Using Administrative Policies to Restrict UI Customizations

During deployment of the *.officeUI customization file, you can also use administrative policies to further restrict customization of the UI. The following table summarizes the administrative policies that you can set for UI customizations.

Table 2. Administrative Policies for UI customization

Policy

Description

New for Office 2010 or Existing Policy

Affects Ribbon or Quick Access Toolbar

Turn off user customizations via UI

This policy setting prevents users from customizing both the Quick Access Toolbar and Ribbon through the user interface (UI).

This policy setting does not affect existing customizations that load when the application starts, or load when an associated document or template is opened.

If you enable this policy setting, the following UI entry points are turned off: the Quick Access Toolbar and Ribbon tabs in the application's Office Center dialog box, and the Quick Access Toolbar and Ribbon customization options on the right-click menu on the Ribbon.

If you disable or do not configure this policy setting, users can customize the Quick Access Toolbar and Ribbon through both the application’s Office Center dialog box, and the right-click menu on the Ribbon.

Existing

Both

Turn off all user customizations

This policy setting prevents users from making any Quick Access Toolbar and the Ribbon customizations. This includes customizations made through user interface (UI) entry points, or loaded from documents or templates. Existing customization files do not load when the application starts.

If you enable this policy setting, users cannot customize the Quick Access Toolbar and Ribbon through either the Quick Access Toolbar and Ribbon tabs in the application's Office Center dialog box, or the right-click menu on the Ribbon. In addition, Quick Access Toolbar and Ribbon customizations originating from documents or templates are not loaded when these documents are opened. In addition, existing customization files (*.officeUI) are not loaded when the application starts. Users will be unable to Import a Customization file (*.exportedUI).

If you disable or do not configure this policy setting, users can make Quick Access Toolbar and Ribbon customizations through the UI and load them from documents and templates, or customization files.

Existing

Both

Disable UI extending from documents and templates

This policy setting controls whether Office 2010 applications load any custom user interface (UI) code included with a document or template. The Office 2010 release enables you to extend the UI with customization code that is included in a document or template.

If you enable this policy setting, Office 2010 applications cannot load any UI customization code included with documents and templates.

If you disable or do not configure this policy setting, Office 2010 applications load any UI customization code included with a document or template when you open it.

Existing

Not applicable

Allow roaming of all user customizations

This policy setting allows roaming of both the Quick Access Toolbar and Ribbon customizations. 

If you enable this policy setting, users' Quick Access Toolbar and Ribbon customizations will be available to them on any computer on their network when they log on.

If you disable or do not configure this policy setting, users' Quick Access Toolbar and Ribbon customizations will only be available to them on the computer on which they made the customizations.

New

Both

You can follow these steps to set or clear the administrative policies related to the Microsoft Office Fluent User Interface.

To customize the Administrative Policies for the User Interface in Windows Server 2008 R2

  1. Open the Group Policy Management Console. Right-click the Group Policy object that you want to edit and then click Edit.

  2. In the console tree, under User Configuration, expand Administrative Templates.

  3. Click Classic Administrative Templates, Microsoft Office 2010 system, Global Options, and then click Customize.

Conclusion

Customizations to the Microsoft Office Fluent UI are saved by Office 2010 in a file that has the extension *.officeUI. You can deploy these files to users by using operating scripts which are run when the user logs on to his or her computer. The location of the file is determined by whether the policy regkey is on the user’s profile. You can restrict further customizations of the deployed UI by setting administrative policies.

Additional Resources

For more information about the topics discussed in this article, see the following resources: