概要 : 開発者や管理者は、カスタマイズしたリボンとクイック アクセス ツール バーを展開するよう求められることがよくあります。この記事では、カスタマイズした Microsoft Office UI をユーザーに展開してそのファイルを特定の場所に配置し、カスタマイズがそれ以上行えないようにする方法を説明します。
適用対象: Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Word 2010
Frank Rice, Microsoft Corporation
Melissa Kerr, Microsoft Corporation
2009 年 11 月
適用先 : Microsoft Office 2010、Microsoft Publisher 2010、Microsoft Visio 2010、 Microsoft SharePoint Designer 2010
内容
カスタム Fluent ユーザー インターフェイス ファイルの展開の概要
ユーザー インターフェイスを広範なユーザーに展開する
*.officeUI UI ユーザー設定ファイルの例
スクリプトを使用して UI ユーザー設定ファイルを配置する
管理ポリシーを使用して UI のカスタマイズを制限する
まとめ
その他の技術情報
カスタム Fluent ユーザー インターフェイス ファイルの展開の概要
Microsoft Office Fluent ユーザー インターフェイス (UI) には、リボンとクイック アクセス ツール バーが含まれています。これらのアイテムをカスタマイズするには、XML で UI のコンポーネントを定義し、プログラミング コード (コールバック プロシージャ) を使用してコンポーネントに機能を付与します。この UI は、XML を更新し、必要に応じて、コールバック プロシージャを更新または追加するだけでカスタマイズできます。
更新した XML を特定のプログラム ファイルに追加するには、Microsoft Office Open XML ファイルを修正します。具体的には、このファイルを ZIP パッケージとして開き、XML で記述した要素を挿入し、関連する要素を更新してそれがパッケージの一部として認識されるようにします。更新した XML を Office 2010 アプリケーションに追加することもできます。こうすれば、アプリケーション内で開いた任意のファイルから、カスタマイズされた UI を利用できます。これを行うには、アプリケーションの開始時に読み込まれる COM アドインを作成します。
UI のカスタマイズには、*.officeUI ファイルをユーザーのコンピューターの特定の場所に配置するという方法もあります。次回、ユーザーがアプリケーションを開始すると、カスタマイズされた UI が表示されます。
この記事では、ユーザー設定ファイルの例を示し、それを特定のユーザー グループに展開する方法を説明します。また、展開した UI ファイルにカスタマイズがそれ以上行えないようにする方法も説明します。
ユーザー インターフェイスを広範なユーザーに展開する
Office 2010 アプリケーションの UI をカスタマイズしたと仮定します。カスタマイズした UI を広範なユーザーに配布するにはどうすればよいでしょう。Office 2010 では、特定のアプリケーションの UI をカスタマイズすると、そのアプリケーション用の *.officeUI ファイル (内容は設定用の XML) が作成されます。これを理解したうえで、次のどちらかの方法を使用します。
XML コードを直接更新する方法によって、必要なユーザー設定を適用して既存の *.officeUI ファイルを修正する。
Microsoft Office アプリケーションのユーザー設定ダイアログを開き、必要なユーザー設定を作成し、*.officeUI ファイルに移動して結果を適用する。
注意
UI のユーザー設定を既定の状態に戻すには、*.officeUI ファイルを削除します。
必要な *.officeUI ファイルが用意できたら、スクリプトを使用して、そのファイルがログオン時にユーザーのコンピューターに読み込まれるようにします。後ほど、このスクリプトの例を示します。
注意
新しい *.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 ワークスペースのリボン |
GrooveLB.officeUI |
*SharePoint 2010 |
SharePoint ワークスペースのリボン |
GrooveWE.officeUI |
SharePoint Designer 2010 |
SharePoint Designer のリボン |
spdesign.officeUI |
Visio 2010 |
Visio のリボン |
Visio.officeUI |
Word 2010 |
Word のリボン |
Word.officeUI |
注意
製品名は SharePoint ワークスペースですが、ファイル名は現在も 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="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>
この XML コードによって、さまざまなコントロールを持つカスタム タブが追加されます。いくつかの組み込みタブは非表示にされます。
スクリプトを使用して UI ユーザー設定ファイルを配置する
前述のとおり、オペレーティング システムのスクリプトを使用すると、*.officeUI ファイルをユーザーのコンピューターに配置することができます。これらのスクリプトはユーザーが自分のコンピューターにログオンしたときに実行されます。このファイルの正確な場所は、ユーザーのコンピューターにポリシー レジストリ キーが設定されているかどうかで異なります。*.officeUI ファイルの場所は、次のどちらかになります。
Roaming レジストリ キーが設定されていない場合 : %user%\AppData\Local\Microsoft\Office\*.officeUI
Roaming レジストリ キーが設定されている場合 : %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 のカスタマイズに関する管理ポリシー
ポリシー |
description |
新規 (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 のカスタマイズがそれ以上行えないようにすることができます。
その他の技術情報
この記事で説明したトピックの詳細については、次のリソースを参照してください。