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
On the File tab, click Options, click Customize Ribbon or Quick Access Toolbar.
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
On the File tab, click Options, click Customize Ribbon or Quick Access Toolbar.
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
Open the Group Policy Management Console. Right-click the Group Policy object that you want to edit and then click Edit.
In the console tree, under User Configuration, expand Administrative Templates.
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: