Office Fluent リボンの概要

注意

一部の アプリケーションでの CommandBars の使用Microsoft Office Fluent ユーザー インターフェイスの新しいリボン コンポーネントに取って代Officeされています。

Office Fluent リボンは、以前のバージョンの Office で提供される、レイヤー化されたメニュー、ツール バー、および作業ウィンドウのシステムを置き換えます。 リボンには、効率と検出性が最適化された、より単純なインターフェイス システムが備わっています。 また、リボンのコンテキスト メニュー、ポップヒント、ミニ ツールバー、およびキーボード ショートカットが機能強化されており、ユーザーの効率と生産性が向上します。

さらに、リボン拡張機能 (RibbonX) を使用して、ユーザー エクスペリエンスを向上することもできます。 リボンを構成するコンポーネントを操作するには、拡張マークアップ言語 (XML) およびいくつかの従来のプログラミング言語の 1 つを使用します。 XML はプレーン テキストなので、任意のテキスト エディターでカスタマイズ ファイルを作成したり、好みの XML エディターを使用したりできます。 また、各アプリケーションで同じプログラミング モデルが使用されているので、カスタマイズ ファイルを最小限の調整を加えるだけで再利用できます。 たとえば、Word、Excel、Access、または PowerPointで作成したカスタマイズ ファイルを再利用できます。

XML マークアップ ファイルを使用してリボンをカスタマイズすると、CommandBars オブジェクト モデルに基づく複雑なアドインを作成する必要がほとんどなくなります。 ただし、以前のバージョンの Office で作成されたアドインは、ほとんどまたはまったく修正することなく、リボンで引き続き機能します。 Word、Excel、または PowerPoint のリボンに対するアプリケーション レベルのカスタマイズを作成するには、以下の方法の 1 つを使用できます。

  • マネージ コードまたはアンマネージ コードで COM アドインを使用します。
  • アプリケーション固有のアドイン (.ppam ファイルや .xlam ファイルなど) を使用します。
  • Word でテンプレート (.dotm ファイル) を使用します。

通常、COM アドインのコードには、外部カスタマイズ ファイルやそのコード内の XML から XML マークアップを返すプロシージャが含まれています。 アプリケーションの起動時に、アドインは XML マークアップを返すコードを読み込んで実行します。 Office XML マークアップを XSD スキーマに対して検証し、それをメモリに読み込み、リボンを表示する前にリボンに適用します。 メニュー項目とコントロールは、コールバック プロシージャを使用してアドインのコードを実行します。

ドキュメント レベルのカスタマイズでは、同じ XML マークアップに加えて Open XML 形式ファイル (拡張子は .docx, .docm, .xlsx, .xlsm, .pptx、または .pptm) を使用します。 この場合は、XML マークアップを含むカスタマイズ ファイルを作成し、フォルダーに保存します。 次に、Open XML 形式コンテナー内のパーツをカスタマイズ ファイルをポイントするように変更します。 Office アプリケーションでドキュメントを開くと、カスタマイズ ファイルがメモリに読み込まれてリボンに適用されます。 続いて、コマンドとコントロールによりドキュメント内のコードが呼び出され、それぞれに該当する機能が提供されます。

既存のソリューション

2007 Office Office以前のバージョンでは、開発者は CommandBars オブジェクト モデルを使用して、UI を変更Visual Basicコードを作成しました。 ほとんどの場合、Office でこのレガシー コードは修正なしで引き続き正常に動作します。 ただし、2003 Officeのツールバーに加えた変更は、2003 年の [アドイン] タブに表示Office。

表示されるカスタマイズの種類は、アドインの元の設計によって異なります。 たとえば、Office では、以前のメニュー構造 ([ファイル] メニュー、[挿入] メニュー、[ツール] メニューなど) に追加した項目が含まれる [メニュー コマンド] グループが作成されます。 また、以前の組み込みのツール バー ([標準] ツール バー、[書式設定] ツール バー、[図] ツール バーなど) に追加した項目が含まれる [ツール バー コマンド] グループも作成されます。 さらに、アドインまたはドキュメントからのユーザー設定のツール バーが [アドイン] タブの [ユーザー設定のツールバー] グループに表示されます。

コールバック プロシージャは、リボンに機能を追加します。

リボン拡張機能を使用して、コールバックを指定し、実行時に UI からプロパティを更新してアクションを実行します。 たとえば、次の RibbonX マークアップのボタンの onAction コールバック メソッドについて考えます。 <button id="myButton" onAction="MyButtonOnAction" />

このマークアップは、Officeが選択されているときに MyButtonOnAction 関数を呼び出す必要があります。 MyButtonOnAction 関数には、言語の選択に依存する特定の署名があります。次に、次の例を示Visual C#。

public void MyButtonOnAction (IRibbonControl control) 
   { 
      if (control.Id=="myButton") 
      { 
         System.Windows.Forms.MessageBox.Show("Button clicked!"); 
      } 
   } 

COM アドインを使用してリボンをカスタマイズする

アプリケーション レベルでカスタマイズすると、どのドキュメントを開いても、変更したリボンがアプリケーションに表示されます。 このような変更を行うには、主に COM アドインを作成します。 COM アドインでリボンをカスタマイズするには、次の操作を行います。

  1. COM アドイン プロジェクトを作成します。 作成するアドインは、すべての COM アドインが実装する Extensibility.IDTExtensibility2 インターフェイスと、Microsoft の IRibbonExtensibility インターフェイスを実装する必要があります。Office。コア名前空間。

  2. アドインをビルドしてプロジェクトをセットアップし、プロジェクトをインストールします。

  3. Office アプリケーションを起動します。 アドインが読み込まれると、以前のバージョンの Office と同様に、アドインを初期化する IDTExtensibility2::OnConnection イベントがトリガーされます。

  4. 次に、QueryInterface メソッドが呼び出され、IRibbonExtensibility インターフェイスが実装されているかどうかが確認されます。

  5. 実装されている場合、IRibbonExtensibility::GetCustomUI メソッドが呼び出され、XML カスタマイズ ファイル、またはプロシージャに埋め込まれた XML マークアップから XML マークアップが読み込まれ、カスタマイズがアプリケーションに読み込まれます。

  6. これで、ユーザーはカスタマイズされた UI を使用できるようになります。

Open XML 形式ファイルを使用Officeリボンをカスタマイズする

XML マークアップを使用して UI をカスタマイズするには、次の操作を実行します。

  1. 任意のテキスト エディターでカスタマイズ ファイルを作成します。 リボンへの新規コンポーネントの追加、既存コンポーネントの変更、またはコンポーネントの非表示を行う XML マークアップを追加します。 このファイルを「customUI.xml」という名前で保存します。

  2. デスクトップに customUI という名前のフォルダーを作成し、このフォルダーにカスタマイズ ファイルをコピーします。

  3. XML マークアップをユーザー設定の UI スキーマに照らして検証します。

    注意

    この手順は省略できます。

  4. Office アプリケーションでドキュメントを作成し、.docx.docm.xlsx.xlsm.pptm.pptx のいずれかの拡張子を付けて Open XML 形式ファイルとして保存します。 セキュリティ上の目的で、マクロを含むファイルには、接尾辞 m が付き、RibbonX コマンドおよびコントロールから呼び出されるプロシージャが格納されます。

  5. ドキュメント ファイル名に .zip 拡張子を追加し、ファイルを開きます。

  6. カスタマイズ ファイルをコンテナーに追加するために、フォルダーをファイルにドラッグします。

  7. .zip ファイル内にある .rels ファイルをデスクトップに解凍します。 .rels ファイルの入った _rels フォルダーがデスクトップにコピーされます。

  8. .rels ファイルを開 き、ドキュメント ファイルとカスタマイズ ファイルの間にリレーションシップを作成する行を追加し、ファイルを保存します。

  9. コンテナーに _rels フォルダーを追加し、既存のファイルを上書きします。

  10. ファイル名から .zip 拡張子を削除して、元の名前に戻します。 Office ファイルを開くと、カスタマイズ内容を反映したリボンが表示されます。

XML マークアップ ファイルの一般的な形式

リボンをカスタマイズするには、XML マークアップを使用できます。 以下の例は、Word のリボンをカスタマイズするのに使用できる XML マークアップ ファイルの一般的な形式を示しています。

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
  <ribbon> 
    <tabs> 
      <tab idMso="TabHome"> 
        <group idMso="GroupFont" visible="false" /> 
      </tab> 
      <tab id="CustomTab" label="My Tab"> 
        <group id="SampleGroup" label="Sample Group"> 
          <toggleButton id="ToggleButton1" size="large" label="Large Toggle Button" getPressed="MyToggleMacro"  /> 
          <checkBox id="CheckBox1" label="A CheckBox" screentip="This is a check box" onAction="MyCheckboxMacro" /> 
          <editBox id="EditBox1" getText="MyTextMacro" label="My EditBox" onChange="MyEditBoxMacro"/> 
          <comboBox id="Combo1" label="My ComboBox" onChange="MyComboBoxMacro"> 
            <item id="Zip1" label="33455" /> 
            <item id="Zip2" label="81611" /> 
            <item id="Zip3" label="31561" /> 
          </comboBox> 
          <advanced> 
            <button id="Launcher1" screentip="My Launcher" onAction="MyLauncherMacro" /> 
          </advanced> 
        </group> 
        <group id="MyGroup" label="My Group" > 
          <button id="Button" label="My Large Button" size="large" onAction="MyButtonMacro" /> 
          <button id="Button2" label="My Normal Button" size="normal" onAction="MyOtherButtonMacro" /> 
        </group > 
      </tab> 
    </tabs> 
  </ribbon> 
</customUI> 

このサンプルでは、Word のリボンに対して以下の順序で変更が加えられます。

  1. 既定の名前空間とユーザー設定の名前空間を宣言します。

  2. 組み込みの [ホーム] タブにある組み込みの [GroupFont] グループを非表示にします。

  3. 最後に組み込まれたタブの右側に新規の [CustomTab] タブを追加します。

    注意

    ユーザー設定タブなどのユーザー設定項目を作成する場合は id= identifier 属性を使用し、[TabHome] タブなどの組み込み項目を参照する場合は idMso= identifier 属性を使用します。

  4. 新規の [SampleGroup] グループを [My Tab] タブに追加します。

  5. 大きなサイズの ToggleButton1 ボタンを My Group に追加し、GetPressed コールバックと共に onAction コールバックを指定します。

  6. カスタムの スクリーン ヒントを使用して**、自分** のグループに CheckBox1 チェック ボックスを追加し、onAction コールバックを指定します。

  7. EditBox1 編集ボックスを [マイ グループ] に追加し、onChange コールバックを指定します。

  8. 3 つの アイテムを持つコンボ 1 コンボ ボックスをマイ グループ に追加します。 このコンボ ボックスでは、各項目のテキストを使用する onChange コールバックを指定します。

  9. onAction コールバック セットを使用 して 、Launcher1 ランチャーを My Group に追加します。 起動プログラムでは、ユーザーに追加のオプションを提供するユーザー設定のダイアログ ボックスも表示できます。

  10. 新規の [MyGroup] グループをユーザー設定のタブに追加します。

  11. 大きなサイズの Button1 ボタンを MyGroup に追加し、onAction コールバックを指定します。

  12. MyGroup に通常サイズ の Button1 ボタンを追加 、onAction コールバックを指定します。

従来のコマンド バー アドインの操作

COM アドインを作成した場合、通常はユーザーがアドインとやり取りする方法が必要になります。 以前のバージョンの Office では、CommandBars オブジェクト モデルに従って、アプリケーションにメニュー項目またはツールバー ボタンを追加しました。 今回のリリースの Office でも、ほとんどの場合、カスタム アプリケーションは変更なしでリボンで動作します。 ただし 、CommandBars オブジェクト モデル、または WordBasic や XML などのメニューやツールバーを変更した他のテクノロジで行った変更は、別の [アドイン] タブ に表示 されます。これにより、ユーザーはコントロールを見つけやすくなります。

リボンを動的に更新する

コントロールのプロパティを返すコールバックは、繰り返し呼び出すように指定しない限り、通常は 1 回だけ呼び出されます。 コールバックの再クエリは、CustomUI 要素に onLoad コールバックを実装することによって実行できます。 このコールバックは、RibbonX マークアップ ファイルが正常に読み込まれたときに 1 回呼び出され、そのコードを IRibbonUI オブジェクトに渡 します。

次のコード例では 、実行時にコントロールを更新できるよう、IRibbonUI オブジェクトを取得します。

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="ribbonLoaded">

このC#クラスに コールバックを記述 Connectします。

IRibbonUI myRibbon; 
 
     public void ribbonLoaded(IRibbonUI ribbon) { 
         myRibbon = ribbon; 
     } 

リボンを使用すると、ユーザーは Office アプリケーションを柔軟に操作できます。 リボンを作成およびカスタマイズするには、単純なテキストベースの宣言型 XML マークアップを使用します。 数行の XML を記述するだけで、ユーザーに適したインターフェイスを作成できます。 XML マークアップは 1 つのファイルに含まれているので、要件が変更されたときに、インターフェイスを容易に変更できます。 また、ユーザーが見つけやすい場所にコマンドを配置することで、ユーザーの生産性を向上することもできます。 最後に、リボンによってアプリケーション間の一貫性が確保されるので、各アプリケーションの学習にかかるユーザーの時間が削減されます。

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。