COM アドインを使用して 2007 Office Fluent リボンにリソース リンクを追加する

概要 : Excel 2007、PowerPoint 2007、および Word 2007 の既存の Microsoft Office Fluent リボンにカスタム タブを追加するアドインを作成するプロセスを説明します。タブには、2007 Office トレーニング リソースへのアクセスに使用するコントロールが含まれます。(18 印刷ページ)

Judi Hurlock、Microsoft Corporation

Frank Rice、Microsoft Corporation

2007 年 1 月

対象製品 : Microsoft Office Excel 2007、Microsoft Office PowerPoint 2007、Microsoft Office Word 2007

目次

  • Get Started Tab アドインについて

  • Get Started Tab アドイン プロジェクトを操作する

  • 共有 COM アドインを使用して Get Started Tab プロジェクトを作成する

  • Office Excel 2007 用の XML カスタマイズ ファイル

  • Office PowerPoint 2007 用の XML カスタマイズ ファイル

  • まとめ

  • 追加情報

背景

新しい Microsoft Office Fluent ユーザー インターフェイス (UI) は、階層型メニュー、ツール バー、および作業ウィンドウから構成される以前のシステムを、効率を高めて機能を検出しやすくするために最適化されたよりシンプルなシステムに置き換えます。Office Fluent リボンを含む新しい UI は、ユーザーの効率と生産性の向上に役立つ、改善されたショートカット メニュー、高度なポップ ヒント、ミニ ツール バー、およびキーボード ショートカットを提供します。新しい Office Fluent UI は、Microsoft Office Access 2007、Microsoft Office Excel 2007、Microsoft Office Outlook 2007、Microsoft Office PowerPoint 2007、および Microsoft Office Word 2007 を含む 2007 Microsoft Office スイートに実装されています。

既に説明したオプションだけでなく、Office Fluent UI は、独自の目的のためのカスタマイズも比較的容易です。XML マークアップと、Microsoft Visual Studio でサポートされている任意の Microsoft .NET Framework ベースの言語を組み合わせて使用することで、既定の Office Fluent リボンをカスタマイズできます。また、Microsoft Visual Basic for Applications (VBA)、Microsoft Visual C++、および Microsoft Visual Basic 6.0 を使用して Office Fluent リボンをカスタマイズすることもできます。

Office Fluent リボンは、アプリケーション ウィンドウの最上部に表示される、一連の階層型コンポーネントから構成されています。たとえば、Office Fluent リボンにはグループを含むタブがあります。グループには、ボタン、メニュー、コンボ ボックス、およびチェック ボックスなどのコントロールが含まれます (図 1 を参照)。

図 1. Office Fluent リボンの外観

Office リボン インターフェイス

Office Fluent リボンを構成するコンポーネントを操作するには、XML または複数のプログラミング言語の 1 つを使用します。XML はプレーン テキストであるため、任意のテキスト エディタでカスタマイズ ファイルを作成できます。このため、カスタマイズは容易です。

XML マークアップ ファイルを使用して UI をカスタマイズすると、複雑なアドインの必要性は大きく減少します。ただし、Office の以前のバージョン向けに記述されたアドインは、わずかに変更するか変更なしで、Office Fluent UI で引き続き動作します。

以下の方法で、新しい Office Fluent UI をサポートするアプリケーションの大半で、独自のアプリケーション レベルの Office Fluent リボンを作成することができます。

  • マネージ コードまたはアンマネージ コードでコンポーネント オブジェクト モデル (COM) アドインを使用する方法

  • .ppam ファイルや .xlam ファイルなどのアプリケーション固有のアドインを使用する方法

  • Office Word 2007 のテンプレート (.dotm ファイル) を使用する方法

注意

Access 2007 と Outlook 2007 は、他の Office アプリケーションとはわずかに異なる方法でリボンのカスタマイズを実装します。

一般的なシナリオでは、COM アドインのコードには、外部カスタマイズ ファイルから、またはアドイン プロジェクトに含まれている XML から XML マークアップを返すプロシージャが含まれています。アプリケーションが起動されると、アドインは XML マークアップを返すコードを読み込んで実行します。コードは XSD スキーマに照らし合わせて XML マークアップを検証し (ただしオプション)、XML をメモリに読み込み、それを Office Fluent リボンに適用します。アプリケーションの起動時には、変更された Office Fluent リボンが表示されます。Office Fluent リボンのコマンドとコントロールは、コールバック プロシージャを使用してアドインのコードを実行します。コールバック プロシージャを使用して、開発者はアクションを実装してプロパティを更新し、実行時に UI からアクションを実行します。たとえば、リボン上のボタンをクリックしたときに発生するアクションを指定するには、そのボタン用の onAction コールバック関数を指定します。ボタンをクリックすると、Office はプロシージャをコールバックし、定義されているすべてのアクションを実行します。

注意

ドキュメント レベルのカスタマイズでは、同じ XML マークアップと, .docx, .docm, .xlsx, .xlsm, .pptx、または .pptm のいずれかの拡張子を持つ Office オープン XML ファイル形式を使用します。Office Fluent リボンの詳細については、「2007 Office Fluent リボンをカスタマイズする (開発者向け) (パート 1/3)」というタイトルの一連の記事を参照してください。

以下では、Office Fluent リボンのカスタマイズの一例を詳細に説明します。例は、既存の UI にコンポーネントを追加する COM アドインで、3 つの XML カスタマイズ ファイルのいずれを使用するかに応じて、Excel 2007、PowerPoint 2007、または Word 2007 のいずれかに関する便利なトレーニング リソースへのリンクを提供します。完成したアドインをダウンロードするには、以下を参照してください。

Get Started Tab アドインについて

Get Started Tab アドインは、Microsoft Office Online 上に存在するさまざまな 2007 Office トレーニング リソースへのリンクを提供します。このアドインは、図 2. に示すように、Office Fluent リボンに (6 つのグループと複数のボタンが付属する) タブを追加することで、リンクを提供します。3 つのプロジェクトで使用されているコードの大部分は同じです。主な相違点は、個別の Office アプリケーション用のシステム リソースを指し示す参照です。

注意

Get Started Tab アドインは、多くの 2007 Office アプリケーション トレーニング リソースへのリンクを提供します。記事にあるアドインと Office Online トレーニング リソースの詳細については、「Download Get-Started Training for the 2007 Microsoft Office system」を参照してください。

図 2. Word 2007 の Fluent リボン上の Get Started Tab

Word 2007 のリボン インターフェイス上の Get Started Tab

コードの各セクションが Office Fluent リボンに 1 つのコンポーネントを追加するという点において、XML カスタマイズ マークアップはインクリメンタルに機能します。このしくみを理解しやすくするため、ここでは、Get Started Tab アドイン サンプルで使用されているカスタマイズ ファイルを説明します。

<customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <tab id="tr" label="Get Started">
        <group id="c1" label="Find a Command" >
......
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

先頭のステートメントは、Office アプリケーションに対して、これが Office Fluent リボンに関するカスタマイズ マークアップであることを示しています。xmlns 属性は、Office Fluent リボンのコンポーネントの名前が定義される名前空間を指定しています。<ribbon> 要素は、その他すべての要素のコンテナ (ルート) 要素です。

注意

<ribbon> 要素には、startFromScratch という名前の属性が含まれています。この属性を True に設定すると、開発者が定義したカスタム タブだけを表示できるよう、アプリケーションの起動時にその他すべてのタブを削除します。明示的に設定されている場合を除き、この属性は False であると見なされます。

<tabs> 要素は、1 つ以上の <tab> 要素のコンテナ要素です。<tab> 要素は、id および label 属性を指定することにより、[Get Started] タブを定義します。コールバック プロシージャでは、id 属性がコントロールを特定します。label 属性には、コントロールを使用して表示されるテキストが含まれています。

各タブ コンポーネントには、関連するコンポーネントを特定するグループが含まれています。このサンプルのグループには、新しい Office Fluent UI にある Office 2003 のコントロール、コマンド、およびメニューの場所を見つけやすくする機能に関連するコンポーネントが含まれています。

次のコード例は、"Find a Command" グループに存在するボタン コントロールを定義します。

<button id="b1" label="Interactive Lookup Tool" size="large" 
   imageMso="SharePointListsWorkOffline"
   screentip="Interactive Lookup Tool"
   supertip="Point at Word 2003 buttons and commands to see them in Word 2007."
   onAction="openPage"
   tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=HA100744321033&amp;CTT=4&amp;
   Origin=EC102128421033" />

注意

アドインで定義されているコンポーネントは、コントロールに使用できる属性の総計のサブセットのみを使用します。各リボン コンポーネントのすべての属性とコールバックのリストについては、「2007 Office Fluent リボンをカスタマイズする (開発者向け) (パート 2/3)」を参照してください。

サンプルの最初の属性が、ボタンのサイズを指定します。size 属性をサポートするコントロールに使用できる選択肢は、"normal" および "large" です。次に、ボタンの画像は imageMso 属性により定義されます。Mso サフィックスが重要です。開発者はカスタム コントロールを作成できるだけでなく、既定の Office Fluent UI の一部である多くのコントロールと機能にアクセスすることもできます。属性名の Mso 拡張子により、組み込みの機能とカスタム機能が区別されます。たとえば、組み込みの Font ボタンの id 属性は idMso="Font" と記述されますが、カスタム ボタンは id="button1" と定義されます。組み込みのコントロールが存在するように、組み込みの画像も存在します。そのため、前の例のカスタム ボタンでは、組み込みの画像は imageMso="SharePointListsWorkOffline" により指定されます。図 2. では、[Interactive lookup tool] ボタン上で、この名前と関連付けられた組み込みの画像を確認できます。

例の続きでは、テキストを screentip 属性または supertip 属性に割り当てることにより、(Enhanced ScreenTips という名前の) コントロール上にユーザーがマウスを移動させたときに表示する情報を指定できます。

screentip="Interactive Lookup Tool" 
supertip="Point at Word 2003 buttons and commands to see them in Word 2007."

詳細なヒント テキストには、ヒントに関する追加情報があります。

onAction 属性は、ユーザーがコントロールにアクセスしたとき (この場合はボタンをクリックしたとき) に実行されるアクションが含まれるコールバック プロシージャを指し示します。たとえば、Get Started Tab アドインでは、onAction 属性はブラウザで Web ページを開く openPage サブルーチンを指し示します。

Sub openPage(ByVal control As IRibbonControl)
   Shell("c:\program files\internet explorer\iexplore " & control.Tag, vbMaximizedFocus)
End Sub

コールバック プロシージャは、呼び出しを行っているコントロールを表す IRibbonControl オブジェクトを受け取ることに注意してください。これにより、プロシージャは呼び出しを行ったコントロールを特定し、その情報を使用してどのアクションを実行するかを決定できます。次に、tag 属性は任意の固有の値に設定できます。これは、コールバック プロシージャ内など、この値を他の目的に使用できることを意味します。例として、次のステートメントを考えます。

tag=https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=HA100744321033&amp;CTT=4&amp;Origin=EC102128421033

Get Started アドインの例では、openPage サブルーチンは Internet Explorer を起動します。ただし、プロシージャが意味を持つためには、ブラウザは特定のページを開く必要があります。このためには、ページのアドレスを格納する tag 属性を使用できます。続いて、ボタン コントロールを表す IRibbonControl オブジェクトを使用して openPage コールバック プロシージャが呼び出されたときに、コントロールの tag プロパティを使用してブラウザで正しいページを開くことができます。

これで、Office Fluent リボンのカスタム ボタンの説明が 1 つ終わりました。この記事の以降のセクションで説明するように、その他のグループやボタンも同様に機能します。

Get Started Tab アドイン プロジェクトを操作する

どのドキュメントが開かれているかに関係なく、変更された Office Fluent リボンがアプリケーションで表示されるという点において、COM アドインを使用して行われたカスタマイズは、アプリケーション レベルの変更になります。また、一般的にマネージ コードで COM アドインを作成するには 2 つの選択肢があります。つまり、Microsoft Visual Studio 2005 に含まれる共有アドイン テンプレートを使用する方法と、さらにアドインを作成しやすい、Microsoft Visual Studio 2005 Tools for Office Second Edition を使用する方法があります。Visual Studio 2005 Tools for Office を使用したアプリケーション レベルのアドインの作成の詳細については、「アプリケーション レベルのアドインのプログラミング入門」を参照してください。

注意

共通言語ランタイムの下で動作するコードは、マネージ コードと呼ばれます。これには、Microsoft Visual Basic .NET コード、Microsoft Visual C# コード、および Microsoft ASP.NET コードが含まれます。Visual Basic for Applications (VBA) コードや Visual Basic 6.0 コードなど、共通言語ランタイムの下では動作しないコードは、アンマネージ コードと呼ばれます。

次の手順では、リボンをカスタマイズする COM アドインの、基本となるメソッド呼び出しシーケンスを説明します。

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

次の手順では、Fluent リボンをカスタマイズする COM アドインを作成するための一般的なプロセスを説明します。

  1. COM アドイン プロジェクトを作成します。

    作成するアドインは、Microsoft.Office.Core 名前空間の Extensibility.IDTExtensibility2 インターフェイスと IRibbonExtensibility インターフェイスを実装する必要があります。

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

  3. Office アプリケーションを起動します。

以前のバージョンの Office と同じように、アドインの読み込み時には IDTExtensibility2::OnConnection イベントが呼び出され、これによりアドインが初期化されます。

次に、アプリケーションは IRibbonExtensibility::GetCustomUI メソッドを呼び出します。このメソッドは XML カスタマイズ ファイルから、またはプロシージャに埋め込まれた XML マークアップから XML マークアップを返します。続いて、アプリケーションにはカスタマイズされた Office Fluent リボンが読み込まれます。最終的に、カスタマイズされたリボンをユーザーが使用できるようになります。

コールバック プロシージャを使用する

既に説明したように、XML マークアップで指定された各コントロールが、コールバック プロシージャを介してその機能を公開します。たとえば、ボタン コントロール用の XML マークアップは、ユーザーがボタンをクリックしたときに実行されるプロシージャを指し示す onAction 属性を指定できます。コールバック プロシージャは、ほとんどの場合、コントロールを識別する IRibbonControl インターフェイスを公開しています。ただし、トグル ボタンの状態を押されているか押されていないとして指定するブール オブジェクトや、コンボ ボックス コントロールで選択されているアイテムの識別子など、コールバックはその他の引数を渡すこともあります。IRibbonControl インターフェイスは、Context オブジェクト、Id オブジェクト、および tag プロパティの 3 つのプロパティを実装します。Context オブジェクトは、コールバックを呼び出す Office Fluent リボンを含むアクティブなウィンドウです。Id オブジェクトは、マークアップで指定されているカスタム コントロールの文字列識別子です。tag プロパティは、既に説明したように、マークアップでオプションで指定できる一意でないプロパティです。

共有 COM アドインを使用して Get Started Tab プロジェクトを作成する

次の例では、マネージ COM アドインを使用して Word 2007 で Office Fluent リボンをカスタマイズします。アドインは、複数のグループとボタンが付属する [Get Started] タブを作成します。ユーザーがボタンをクリックすると、アドインは特定の Web ページを開きます。この場合は、Office Word 2007 トレーニング リソースを開きます。

注意

同じプロセスに従うと、Excel 2007 および PowerPoint 2007 で Get Started Tab プロジェクトを作成できます。以降の説明では、独自のアプリケーション名を代用できる領域は、application でマークされています。

アドイン ソリューションを作成するには

以下の手順を使用して、Get Started Tab アドイン プロジェクトを作成します。

  1. Visual Studio 2005 を起動します。

  2. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

  3. [新しいプロジェクト] ダイアログ ボックスの [プロジェクトの種類] ウィンドウで [その他のプロジェクトの種類] を展開し、[拡張機能] をクリックして、[共有アドイン] を選択します。

  4. [名前] ボックスに「application2007GetStartedTab」と入力し、[OK] をクリックしてプロジェクトを作成します。

  5. 共有アドイン ウィザードの最初のページで、[次へ] をクリックします。

  6. [プログラミング言語の選択] ページで、[Visual Basic] を選択し、[次へ] をクリックします。

  7. [アプリケーション ホストの選択] ページで、使用する Office アプリケーションを除くすべての選択肢をオフにし、[次へ] をクリックします。

  8. [名前および説明の入力] ページで、名前として「GetStartedTab」と入力し、説明として「Office Fluent リボンへの Get Started Tab の追加」と入力して、[次へ] をクリックします。

  9. [アドイン オプションを選択します] ページで [ホスト アプリケーションの読み込み時にアドインを読み込む] を選択し、[次へ] をクリックして、[完了] をクリックします。

  10. Visual Studio により、アドイン class それ自体と Setup プロジェクトの 2 つのプロジェクトが含まれるソリューションが作成されます (セットアップ プロジェクトを使用すると、アドインを他のユーザーのコンピュータにインストールできます。これにより、デザイン時にアドインをインストールおよびアンインストールしやすくなります)。

  11. Office 2007 アプリケーションと Ribbon オブジェクト モデルを操作するには、2 つのタイプ ライブラリへの参照を追加します。

参照を追加するには

  1. ソリューション エクスプローラで、[参照] フォルダを展開します。

    [参照] フォルダが表示されていない場合は、[プロジェクト] メニューの [すべてのファイルを表示] をクリックします。

  2. Microsoft.Office.Core 参照を削除します。

  3. [参照] フォルダを右クリックし、[参照の追加] をクリックします。

  4. [COM] タブをクリックし、[Microsoft Office 12.0 オブジェクト ライブラリ] を選択して、[OK] をクリックします。

  5. オープン コード ファイルの上部で、次のステートメントをプロジェクトに追加します。

    Imports Microsoft.Office.Core
    Imports application = Microsoft.Office.Interop.application
    

    たとえば、Imports Word = Microsoft.Office.Interop.Word などです。

XML カスタマイズ ファイルを作成するには

次の手順で Office Word 2007 用の XML カスタマイズ ファイルを作成します。同じ XML カスタマイズ ファイルの Office Excel 2007 および Office PowerPoint 2007 用のバージョンは、この記事の最後に収録されています。

  1. [プロジェクト] メニューの [新しい項目の追加] をクリックします。

  2. [新しい項目の追加] ダイアログ ボックスで、[XML ファイル] を選択します。新しいファイルに Ribbon.xml という名前を付けて、[追加] をクリックします。

  3. 新しい XML ファイルで、次の XML マークアップを追加します。

    <customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui">
      <ribbon>
        <tabs>
          <tab id="tr" label="Get Started">
            <group id="c1" label="Find a Command" >
              <button id="b1" label="Interactive Lookup Tool" size="large" imageMso="SharePointListsWorkOffline" 
              screentip="Interactive Lookup Tool" 
              supertip="Point at Word 2003 buttons and commands to see them in Word 2007" onAction="openPage" 
              tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?
              AssetID=HA100744321033&amp;CTT=4&amp;Origin=EC102128421033" />
            </group>
    
            <group id="c2" label="Get Online Training">
              <button id="b2" label="Up to Speed Course" size="large" imageMso="RecurrenceEdit" 
              screentip="Up to Speed Course" 
              supertip="Learn quickly how to use Word 2007." onAction="openPage" 
              tag=https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?
              AssetID=RC100664431033&amp;CTT=4&amp;Origin=EC102128421033 />
            </group>
    
            <group id="c3" label="Watch Demos">
              <button id="vid" label="Word 2007 Overview" size="large" imageMso="ContactPictureMenu" 
              screentip="Word 2007 Overview" 
              supertip="See Word 2007 in action." onAction="openPage" 
              tag=https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?
              AssetID=HA101672751033&amp;CTT=4&amp;Origin=EC102128421033 />
              <button id="b3" label="Up to Speed" size="large" imageMso="MovieFromFileInsert" 
              screentip="Up to Speed" 
              supertip="Get familiar with Word 2007, and see why you won't have to learn Word all over again." 
              onAction="openPage" 
              tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=HA100484691033&amp;CTT=4&amp;Origin=EC102128421033" />
            </group>
    
            <group id="c4" label="Ask the Community">
              <button id="b4" label="Discuss Word 2007" size="large" imageMso="MeetingsWorkspace" 
              screentip="Discuss Word 2007" 
              supertip="Questions? Ask someone for answers." onAction="openPage" 
              tag=https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?
              AssetID=HA012061421033&amp;CTT=4&amp;Origin=EC102128421033 />
            </group>
    
            <group id="c5" label="View Home Pages">
              <button id="b5" label="Training" size="large" imageMso="BlogHomePage" 
              screentip=" Training " 
              supertip="See more free online training." onAction="openPage" 
              tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?
              AssetID=FX100565001033&amp;CTT=4&amp;Origin=EC102128421033" />
              <button id="b6" label="Demos" size="large" imageMso="MovieFromFileInsert" 
              screentip="Demos" 
              supertip="See more video demos." onAction="openPage" 
              tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=FX100485311033&amp;CTT=4&amp;Origin=EC102128421033" />
              <button id="b7" label="Word 2007" size="large" imageMso="FileSaveAsWord97_2003" 
              screentip="Word 2007" supertip="See more video demos." onAction="openPage" 
              tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=FX100649251033&amp;CTT=4&amp;Origin=EC102128421033" />
            </group>
          </tab>
        </tabs>
      </ribbon>
    </customUI>
    
  4. ファイルを保存して閉じます。

注意

XML ファイルは、プロジェクトのリソース ファイル内のリソースとして扱った場合、より簡単に使用できるようになります。

XML リソースを作成するには

リソースとしてプロジェクトにファイルを追加するには、次の操作を行います。

  1. ソリューション エクスプローラで、[Ribbon.xml] を選択します。

  2. [プロパティ] ウィンドウで、Build Action プロパティを選択してから、オプションのリストで [埋め込まれたリソース] を選択します。

  3. [プロジェクト] メニューの [applicationGetStartedTab Properties] をクリックします。

  4. [リソース] タブをクリックします。

  5. ソリューション エクスプローラから、[Ribbon.xml] をリソース デザイン サーフェイスにドラッグします。

    この操作により、XML コンテンツを含むファイル ベースのリソースが作成されます。これ以降、Ribbon.xml ファイルは自動的にアプリケーション リソースとして格納され、開発者は Visual Basic の言語機能を使用することでこのコンテンツを取得できます。

  6. [リソース] ウィンドウを閉じます。プロンプトが表示されたら、[はい] をクリックしてリソースを保存します。

ホスト アプリケーションにアクセスして、リボンを操作するには

  1. ソリューション エクスプローラで、[Connect.vb] を右クリックし、[コードの表示] をクリックします。

  2. applicationObject 変数の既存の宣言を探し、それが特定の Office アプリケーションの Application オブジェクトを指し示すように、それを変更します。つまり、宣言を次のコードのように変更します。

    Private applicationObject As application.Application
    
  3. OnConnection メソッドの既存の最初の行を変更します。これにより、Office アプリケーションの Application オブジェクトのインスタンスが作成されます。

    applicationObject = DirectCast(application, application.Application)
    
  4. IRibbonExtensibility 名前空間を実装するためのサポートを追加することにより、クラスの先頭付近にある Implements で始まるコード行を変更します。Visual Basic により自動的に GetCustomUI プロシージャが挿入されます。挿入されていない場合は、クラスにプロシージャをコピーします。

    Implements Extensibility.IDTExtensibility2, IRibbonExtensibility
    
  5. GetCustomUI メソッドを、次のコードのように変更します。

    Public Function GetCustomUI(ByVal RibbonID As String) As String _
      Implements Microsoft.Office.Core.IRibbonExtensibility.GetCustomUI
      Return My.Resources.Ribbon
    End Function
    

    警告

    GetCustomUI メソッドを実装して、リボン カスタマイズ用の XML 文字列を返す必要があります。初期化には GetCustomUI メソッドを使用しないでください。特に、GetCustomUI 実装ではダイアログ ボックスやメッセージ ウィンドウを表示しないでください。初期化を実行するより適切な場所は、OnConnection メソッドの内部です。

  6. クラスに以下のメソッドを追加します。このメソッドにより全画面モードで Internet Explorer が開き、プロシージャを呼び出したコントロールの tag プロパティにより指定された Web ページが表示されます。

    #Region "Callbacks"
        Sub openPage(ByVal control As IRibbonControl)
            Shell("c:\program files\internet explorer\iexplore " & control.Tag, vbMaximizedFocus)
        End Sub
    #End Region
    
  7. [ファイル] メニューの [すべて保存] をクリックします。

  8. Office アプリケーションが動作中である場合は終了します。

  9. [ビルド] メニューの [ソリューションのビルド] をクリックします。

  10. ソリューション エクスプローラで、[application2007GetStartedTabSetup] を右クリックし、[ビルド] をクリックします。

  11. [application2007GetStartedTabSetup] を右クリックし、[インストール] をクリックします。

    セットアップ ウィザードが表示されます。

  12. ウィザードの各ページで [次へ] をクリックし、最後のページで [閉じる] をクリックします。

  13. Office アプリケーションを起動します。

    その他のタブの右に [Get Started] タブが表示されます。

  14. [Get Started] をクリックし、[Interactive lookup tool] をクリックします。Word により、ブラウザで Microsoft Office Online Web ページが開かれます。

    図 3. ボタンをクリックすると Office Online ページが開かれる

    ボタンをクリックすると Office Online ページが開く

  15. Word を終了します。

  16. Visual Studio のソリューション エクスプローラで、[application2007GetStartedTabSetup] を右クリックし、[アンインストール] をクリックします。

  17. その他のボタンをクリックして、ユーザーに利用できる、2007 Office アプリケーションに関する豊富なトレーニング情報を参照してください。

Office Excel 2007 用の XML カスタマイズ ファイル

ここでは、Office Excel 用の XML カスタマイズ ファイルを示します。この記事の「XML カスタマイズ ファイルを作成するには」にある Word XML カスタマイズ ファイルの代わりに、このファイルを使用します。

<customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <tab id="tr" label="Get Started">
        <group id="c1" label="Find a Command">
          <button id="b1" label="Interactive Lookup Tool" size="large" imageMso="SharePointListsWorkOffline"
          screentip="Interactive Lookup Tool" 
          supertip="Point at Excel 2003 buttons and commands to see them in Excel 2007." 
          onAction="openPage" tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?
          AssetID=HA101491511033&amp;
          CTT=4&amp; Origin=EC102130091033" />
        </group>

        <group id="c2" label="Get Online Training">
          <button id="b2" label="Up to Speed Course" size="large" imageMso="RecurrenceEdit" 
          screentip="Up to Speed Course" supertip="Learn quickly how to use Excel 2007. onAction="openPage" 
          tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=RC100620751033&amp;
          CTT=4&amp;Origin=EC102130091033"/>
        </group>

        <group id="c3" label="Watch Demos">
          <button id="vid" label="Excel 2007 Overview" size="large" imageMso="ContactPictureMenu" 
          screentip="Excel 2007 Overview" supertip="See Excel 2007 in action." onAction="openPage" 
          tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?
          AssetID=HA101672621033&amp;CTT=4&amp;Origin=EC102130091033"/>
          <button id="b3" label="Up to Speed" size="large" imageMso="MovieFromFileInsert"
          screentip="Up to Speed" supertip="Get familiar with Excel 2007, and see why you 
          won't have to learn Excel all over again." onAction="openPage"tag=
          "https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=HA100484501033&amp;CTT=4&amp;
           Origin=EC102130091033" />
        </group>

        <group id="c4" label="Ask the Community">
          <button id="b4" label="Discuss Excel 2007" size="large" imageMso="MeetingsWorkspace" 
          screentip="Discuss Excel 2007" supertip="Questions? Ask someone for answers." 
          onAction="openPage"tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?
         AssetID=HA011918011033&amp;CTT=4&amp;Origin=EC102130091033"/>
        </group>

        <group id="c5" label="View Home Pages">
          <button id="b5" label="Training" size="large" imageMso="BlogHomePage" 
          screentip="Training" supertip="See more free online training." onAction="openPage" 
          tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=FX100565001033&
          amp;CTT=4&amp;Origin=EC102130091033" />
          <button id="b6" label="Demos" size="large" imageMso="MovieFromFileInsert" 
          screentip="Demos" supertip="See more video demos." onAction="openPage" 
          tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=FX100485311033
          &amp;CTT=4&amp; Origin=EC102130091033" />
          <button id="b7" label="Excel 2007" size="large" imageMso="FileSaveAsExcel97_2003" 
          screentip="Excel 2007" supertip="Help and how-to information." onAction="openPage" 
          tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=FX100646951033
          &amp;CTT=4&amp; Origin=EC102130091033" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Office PowerPoint 2007 用の XML カスタマイズ ファイル

ここでは、Office PowerPoint 用の XML カスタマイズ ファイルを示します。この記事の「XML カスタマイズ ファイルを作成するには」にある Word XML カスタマイズ ファイルの代わりに、このファイルを使用します。

<customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <tab id="tr" label="Get Started" >
        <group id="c1" label="Find a Command">
          <button id="b1" label="Interactive Lookup Tool" size="large" imageMso="SharePointListsWorkOffline"
          screentip="Interactive Lookup Tool" supertip="Point at PowerPoint 2003 buttons and commands 
          to see them in PowerPoint 2007."
          onAction="openPage" tag="https://office.microsoft.com/ja-jp/default.aspx/search/
          redir.aspx?AssetID=HA101490761033
          &amp;CTT=4&amp;Origin=EC102130081033" />

        </group>
        <group id="c2" label="Get Online Training">
          <button id="b2" label="Up to Speed Course" size="large" imageMso="RecurrenceEdit" 
          screentip="Up to Speed Course" supertip="Learn quickly how to use PowerPoint 2007." 
          onAction="openPage" tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=RC100687671033
          &amp;CTT=4&amp;Origin=EC102130081033"/>

        </group>
        <group id="c3" label="Watch Demos">
          <button id="vid" label="PowerPoint 2007 Overview" size="large" imageMso=
          "ContactPictureMenu" screentip="PowerPoint 2007 Overview" supertip="See PowerPoint 2007 
           in action." onAction="openPage" tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx
          ?AssetID=HA101672691033&amp;CTT=4&amp;Origin=EC102130081033"/>
          <button id="b3" label="Up to Speed" size="large" imageMso="MovieFromFileInsert"
          screentip="Up to Speed" supertip="Get familiar with PowerPoint 2007, and see why 
          you won't have to learn PowerPoint all over again." onAction="openPage" tag="
          https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=HA100484621033
          &amp;CTT=4&amp; Origin=EC102130081033" />
        </group>

        <group id="c4" label="Ask the Community">
          <button id="b4" label="Discuss PowerPoint 2007" size="large" imageMso="MeetingsWorkspace" 
          screentip="Discuss PowerPoint 2007" supertip="Questions? Ask someone for answers." 
          onAction="openPage" tag="https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?
          AssetID=HA011595831033&amp;CTT=4&amp;Origin=EC102130081033"/>
        </group>

        <group id="c5" label="View Home Pages">
          <button id="b5" label="Training" size="large" imageMso="BlogHomePage" 
          screentip="Training" supertip="See more free online training." onAction="openPage" tag="
          https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=FX100565001033
          &amp;CTT=4&amp; Origin=EC102130081033" />
          <button id="b6" label="Demos" size="large" imageMso="MovieFromFileInsert" 
          screentip="Demos" supertip="See more video demos." onAction="openPage" tag="
          https://office.microsoft.com/ja-jp/default.aspx/search/redir.aspx?AssetID=FX100485311033&amp;
          CTT=4&amp;Origin=EC102130081033" />
          <button id="b7" label="PowerPoint 2007" size="large" imageMso=
          "FileSaveAsPowerPoint97_2003" screentip="PowerPoint 2007" supertip="Help and 
          how-to information." 
          onAction="openPage" tag="https://office.microsoft.com/ja-jp/default.aspx
          /search/redir.aspx?AssetID=FX100648951033&amp;CTT=4&amp;
          Origin=EC102130081033" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

まとめ

Office Fluent リボンのカスタマイズは、比較的簡単で単純です。いくつかのカスタム コントロールを使用するだけで、Get Started Tab の例にあるリソースのような外部リソースにアクセスすることができます。アドレスをイントラネットのサポート ページで置き換えることで、ユーザーが必要な情報に簡単にアクセスできるようにすることができます。

追加情報

この記事で説明されているテクニックに関連する問題の詳細については、以下のリソースを参照してください。