Word自定义:功能区和工具栏
					
											标签:
																				
                            杂谈 | 
					分类: 参考 | 
在 Office 2010 中部署自定义功能区和快速访问工具栏
 
 
摘要:部署自定义功能区和快速访问工具栏是开发人员和管理员经常请求的一项操作。了解如何为用户部署自定义的 Microsoft Office UI,将文件放在特定位置以及限制进一步自定义。
http://msdn.microsoft.com/dynimg/IC356821.jpg Microsoft Corporation 的 Frank Rice
http://msdn.microsoft.com/dynimg/IC356821.jpg Microsoft Corporation 的 Melissa Kerr
2009 年 11 月
适用范围:Microsoft Office 2010、Microsoft Publisher 2010、Microsoft Visio 2010、Microsoft SharePoint Designer 2010
内容
部署自定义 Fluent 用户界面文件概述
Microsoft Office Fluent 用户界面 (UI) 包括功能区和快速访问工具栏。自定义这些项目的方法是:使用 XML 定义 UI 的组件,并使用编程代码(又称为回调过程)为组件提供相应功能。自定义 UI 时只需更新 XML 并可以选择更新或添加新回调过程。
可以通过修改 Microsoft Office Open XML 文件来将更新的 XML 添加到单个程序文件中。为此,可打开作为 Zip 压缩包的此文件,插入包含 XML 的部分,然后更新关联部分以便它被识别为压缩包的一部分。也可以将更新的 XML 添加到 Office 2010 应用程序中,以便自定义 UI 可用于应用程序中打开的任何文件。可以通过创建在应用程序启动时加载的 COM 加载项来实现此目的。
还可以通过将 *.officeUI 文件放在用户计算机上的特定位置来自定义 UI。然后,在用户下次启动应用程序时,会显示该自定义 UI。
本文提供了一个自定义文件示例并介绍如何将其部署到一组用户。本文还演示如何在部署后限制进一步对 UI 文件进行自定义。
为众多用户部署用户界面
假定您在 Office 2010 应用程序中自定义了 UI。如果您希望将自定义 UI 分发给众多用户,该怎么办?您如何实现此目的?当您在特定应用程序中自定义 UI 时,Office 2010 会为该应用程序创建一个包含自定义 XML 的 *.officeUI 文件。了解这点后,您可以执行下列操作之一。
- 通过更新 XML 代码,使用所需自定义设置修改现有 *.officeUI 文件。
 - 使用 Microsoft Office 应用程序中的“自定义”对话框创建所需自定义设置,应用自定义设置,然后浏览到
*.officeUI 文件。
 
| http://msdn.microsoft.com/dynimg/IC101471.gif注释: | 
|---|
| 
 如果将 UI 自定义设置重置为默认值,将删除 *.officeUI 文件。  | 
当 *.officeUI 文件可用时,您可以使用脚本在登录时将该文件加载到用户计算机上。下文将介绍一个此类型的脚本示例。
| http://msdn.microsoft.com/dynimg/IC101471.gif注释: | 
|---|
| 
 在加载新 *.officeUI 文件时,会删除对功能区 UI 或快速访问工具栏的任何自定义设置。  | 
“*”的值取决于特定 Office 2010 应用程序,如下表所示。
表 1. 有关 *.officeUI 文件的信息
| 应用程序 | .Ribbon 文件说明 | .officeUI 文件名 | 
|---|---|---|
| 
 Outlook 2010  | 
 Outlook 浏览器  | 
 olkexplorer.officeUI  | 
| 
 Outlook 2010  | 
 联系人  | 
 olkaddritem.officeUI  | 
| 
 Outlook 2010  | 
 约会/会议(撰写时的组织者、撰写后的组织者、与会者)  | 
 olkapptitem.officeUI  | 
| 
 Outlook 2010  | 
 联系人组(以前称为通讯组列表)  | 
 olkdlstitem.officeUI  | 
| 
 Outlook 2010  | 
 日记项目  | 
 olklogitem.officeUI  | 
| 
 Outlook 2010  | 
 邮件撰写  | 
 olkmailitem.officeUI  | 
| 
 Outlook 2010  | 
 邮件阅读  | 
 olkmailread.officeUI  | 
| 
 Outlook 2010  | 
 彩信撰写  | 
 olkmmsedit.officeUI  | 
| 
 Outlook 2010  | 
 彩信阅读  | 
 olkmmsread.officeUI  | 
| 
 Outlook 2010  | 
 接收会议要求  | 
 olkmreqread.officeUI  | 
| 
 Outlook 2010  | 
 转发会议要求  | 
 olkmreqsend.officeUI  | 
| 
 Outlook 2010  | 
 公告项目撰写  | 
 olkpostitem.officeUI  | 
| 
 Outlook 2010  | 
 公告项目阅读  | 
 olkpostread.officeUI  | 
| 
 Outlook 2010  | 
 NDR  | 
 olkreportitem.officeUI  | 
| 
 Outlook 2010  | 
 再次发送项目  | 
 olkresenditem.officeUI  | 
| 
 Outlook 2010  | 
 会议要求的计数器响应  | 
 olkrespcounter.officeUI  | 
| 
 Outlook 2010  | 
 接收会议响应  | 
 olkresponseread.officeUI  | 
| 
 Outlook 2010  | 
 编辑会议响应  | 
 olkresponsesend.officeUI  | 
| 
 Outlook 2010  | 
 RSS 项目  | 
 olkrssitem.officeUI  | 
| 
 Outlook 2010  | 
 共享项目撰写  | 
 olkshareitem.officeUI  | 
| 
 Outlook 2010  | 
 共享项目阅读  | 
 olkshareread.officeUI  | 
| 
 Outlook 2010  | 
 短信撰写  | 
 olksmsedit.officeUI  | 
| 
 Outlook 2010  | 
 短信阅读  | 
 olksmsread.officeUI  | 
| 
 Outlook 2010  | 
 任务项目(任务/任务请求等)  | 
 olktaskitem.officeUI  | 
| 
 Access 2010  | 
 Access 功能区  | 
 Access.officeUI  | 
| 
 Excel 2010  | 
 Excel 功能区  | 
 Excel.officeUI  | 
| 
 InfoPath 2010  | 
 InfoPath Designer 功能区  | 
 IPDesigner.officeUI  | 
| 
 InfoPath 2010  | 
 InfoPath Editor 功能区  | 
 IPEditor.officeUI  | 
| 
 OneNote 2010  | 
 OneNote 功能区  | 
 OneNote.officeUI  | 
| 
 PowerPoint  | 
 PowerPoint 功能区  | 
 PowerPoint.officeUI  | 
| 
 Project 2010  | 
 Project 功能区  | 
 MSProject.officeUI  | 
| 
 Publisher 2010  | 
 Publisher 功能区  | 
 Publisher.officeUI  | 
| 
 *SharePoint 2010  | 
 SharePoint Workspaces 功能区  | 
 GrooveLB.officeUI  | 
| 
 *SharePoint 2010  | 
 SharePoint Workspaces 功能区  | 
 GrooveWE.officeUI  | 
| 
 SharePoint Designer 2010  | 
 SharePoint Designer 功能区  | 
 spdesign.officeUI  | 
| 
 Visio 2010  | 
 Visio 功能区  | 
 Visio.officeUI  | 
| 
 Word 2010  | 
 Word 功能区  | 
 Word.officeUI  | 
| http://msdn.microsoft.com/dynimg/IC101471.gif注释: | 
|---|
| 
 产品名为 SharePoint Workspaces,但文件名仍为 GrooveLB.officeUI 或 GrooveWE.officeUI。  | 
您可以在 Office 2010 中按照下列步骤自定义 UI 并创建 *.officeUI 文件。
自定义功能区
- 
在“文件”选项卡上,单击“选项” ,然后单击“自定义功能区” 以打开“功能区自定义”对话框。
 
自定义快速访问工具栏
- 
在“文件”选项卡上,单击“选项” ,然后单击“快速访问工具栏” 以打开“快速访问工具栏自定义”对话框。
 
您还可以将功能区和快速访问工具栏自定义设置导出到某个文件中,然后可以在其他计算机上使用该文件。
导出功能区或快速访问工具栏自定义设置
- 
在“文件”选项卡上,单击“选项” ,单击“自定义功能区” 或“快速访问工具栏”。
 - 
创建所需自定义设置,单击“导入/导出” ,然后单击“导出所有自定义设置”。
 
可以使用 *.exportedUI 文件通过导入该文件来在另一台计算机上创建相同的自定义设置。
导入 *.exportedUI 自定义文件
- 
在“文件”选项卡上,单击“选项” ,单击“自定义功能区” 或“快速访问工具栏”。
 - 
单击“导入/导出”,然后单击“导入自定义文件” 。导航到在前面创建的 *.exportedUI。
 
*.officeUI UI 自定义文件示例
以下列表是 Microsoft Excel 的 *.officeUI 自定义文件示例。
<mso:cmd app="Excel" dt="0" /> <mso:customUI xmlns:mso="http://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>
XML 代码添加具有各种控件的自定义选项卡。它还隐藏若干内置选项卡。
使用脚本放置 UI 自定义文件
如前所述,您可以使用操作系统脚本将 *.officeUI 文件放置到用户计算机上。这些脚本会在用户登录到计算机时运行。此文件的准确位置取决于用户计算机上是否设置了策略注册表项。*.officeUI 文件位于以下位置之一。
未设置漫游注册表项: %user%\AppData\Local\Microsoft\Office\*.officeUI
设置了漫游注册表项: %user%\AppData\Roaming\Microsoft\Office\*.officeUI
以下代码是一个脚本示例。
@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
that is 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
使用管理策略来限制 UI 自定义
在部署 *.officeUI 自定义文件期间,您还可以使用管理策略来进一步限制对 UI 进行自定义。下表汇总了可对 UI 自定义设置的管理策略。
表 2. 针对 UI 自定义的管理策略
| 策略 | 说明 | Office 2010 的新增策略还是现有策略 | 影响功能区还是快速访问工具栏 | 
|---|---|---|---|
| 
 关闭通过 UI 进行的用户自定义设置  | 
 此策略设置阻止用户通过用户界面 (UI) 自定义快速访问工具栏和功能区。 此策略设置不影响在应用程序启动时加载的或在相关文档或模板打开时加载的现有自定义设置。 如果启用此策略设置,则会关闭以下 UI 入口点:应用程序的“Office 中心”对话框中的“快速访问工具栏”和“功能区”选项卡,以及功能区上右键单击菜单中的“快速访问工具栏”和“功能区自定义”选项。 如果禁用或未配置此策略设置,则用户可以通过应用程序的“Office 中心”对话框和功能区上的右键单击菜单来自定义快速访问工具栏和功能区。  | 
 现有策略  | 
 全部影响  | 
| 
 关闭所有用户自定义设置  | 
 此策略设置阻止用户进行任何快速访问工具栏和功能区自定义。包括通过用户界面 (UI) 入口点进行的自定义设置或从文档或模板加载的自定义设置。在应用程序启动时不会加载现有自定义文件。 如果启用此策略设置,则用户无法通过应用程序的“Office 中心”对话框中的“快速访问工具栏”和“功能区”选项卡或功能区上的右键单击菜单来自定义快速访问工具栏和功能区。另外,源于文档或模板的快速访问工具栏和功能区自定义设置在这些文档打开时不会加载。而且,现有自定义文件 (*.officeUI) 在应用程序启动时不会加载。用户将无法导入自定义文件 (*.exportedUI)。 如果禁用或未配置此策略设置,则用户可以通过 UI 进行快速访问工具栏和功能区自定义设置并从文档和模板或自定义文件加载这些自定义设置。  | 
 现有策略  | 
 全部影响  | 
| 
 禁用文档和模板中的 UI 扩展  | 
 此策略设置控制 Office 2010 应用程序是否加载文档或模板中包括的任何自定义用户界面 (UI) 代码。Office 2010 发行版允许使用文档或模板中包括的自定义代码来扩展 UI。 如果启用此策略设置,则 Office 2010 应用程序无法加载文档和模板中包括的任何 UI 自定义代码。 如果禁用或未配置此策略设置,则 Office 2010 应用程序会在您打开文档或模板时加载其中包括的任何 UI 自定义代码。  | 
 现有策略  | 
 不适用  | 
| 
 允许浏览所有用户自定义设置  | 
 此策略设置允许浏览快速访问工具栏和功能区自定义设置。 如果启用此策略设置,则用户的快速访问工具栏和功能区自定义设置将可供他们在所登录的网络上的任何计算机上使用。 如果禁用或未配置此策略设置,则用户的快速访问工具栏和功能区自定义设置将只能供他们在进行自定义的计算机上使用。  | 
 新增策略  | 
 全部影响  | 
可以按照下列步骤设置或清除与 Microsoft Office Fluent 用户界面相关的管理策略。
自定义 Windows Server 2008 R2 用户界面的管理策略
- 
打开组策略管理控制台。右键单击要编辑的组策略对象,然后单击“编辑”。
 - 
在控制台树中的“用户配置”下,展开“管理模板” 。
 - 
依次单击“经典管理模板”、“Microsoft Office 2010 system”、“全局选项” ,然后单击“自定义”。
 
结论
Microsoft Office Fluent UI 的自定义设置由 Office 2010 保存在扩展名为 *.officeUI 的文件中。您可以使用在用户登录到其计算机上时运行的操作脚本,来为用户部署这些文件。文件位置由策略注册表项是否位于用户配置文件中决定。通过设置管理策略,可以限制进一步对已部署的 UI 进行自定义。
其他资源
有关本文中讨论的主题的详细信息,请参阅以下资源:

加载中…