IRibbonExtensibility インターフェイスの実装

リボン、ショートカット メニュー、新しいメニュー項目、または Microsoft Office Backstage ビューをカスタマイズする Microsoft Outlook アドインでは、次のインターフェイスを実装する必要があります。

  • DTExtensibility2

  • IRibbonExtensibility](../../../api/Office.IRibbonExtensibility.md)

Visual C# と Visual Basic のアドインでは、これらのインターフェイスを同じクラスに実装する必要があります。 Office.IRibbonExtensibility を実装する場合、カスタム ユーザー インターフェイスの XML マークアップを Outlook に返す IRibbonExtensibility.GetCustomUI メソッドを使用します。 Outlook が GetCustomUI をいつどのような方法で呼び出すかは、Microsoft Office のアプリケーションごとに異なります。

  • Office では、 GetCustomUI を Outlook の起動時に呼び出して、エクスプローラー用にリボンのカスタマイズを読み込みます。
  • Office では、 GetCustomUI を呼び出して、予定または連絡先のインスペクターなど、特定のインスペクター タイプの最初のインスタンスが表示されるときに、インスペクター固有のリボンのカスタマイズを読み込みます。
  • 閲覧ウィンドウにアイテムを表示しても、リボンは閲覧ウィンドウに表示されないので、 GetCustomUI が呼び出されることはありません。

リボン ID は、Office から GetCustomUI に渡される文字列であり、読み込む UI のカスタマイズを指定します。 アドインの開発者は、この文字列を使って、Outlook に返すカスタム XML マークアップを決めることができます。 また、リボン ID を使用して、表示する Outlook アイテムの種類を決めることもできます。

MailItemPostItem などの場合、Outlook では、最初の作成メモが表示されるときに GetCustomUI が 1 回呼び出され (ここでRibbonID = Microsoft.Outlook.Mail.Compose)、最初の読み取りノートが表示される別の時刻 (場所RibbonID = Microsoft.Outlook.Mail.Read) が呼び出されます。

Outlook では、次の一意のリボン ID を使用します。

リボン ID メッセージ クラス
Microsoft.OMS.MMS.Compose Ipm。注.Mobile.MMS.*
Microsoft.OMS.MMS.Read Ipm。注.Mobile.MMS.*
Microsoft.OMS.SMS.Compose Ipm。注.Mobile.MMS.*
Microsoft.OMS.SMS.Read Ipm。注.Mobile.MMS.*
Microsoft.Outlook.Appointment Ipm。予定。*
Microsoft.Outlook.Contact Ipm。連絡先。*
Microsoft.Outlook.DistributionList Ipm。DistList.*
Microsoft.Outlook.Journal Ipm。活動。*
Microsoft.Outlook.Mail.Compose Ipm。メモ。*
Microsoft.Outlook.Mail.Read Ipm。メモ。*
Microsoft.Outlook.MeetingRequest.Read IPM.Schedule.Meeting.Request または IPM.Schedule.Meeting.Canceled
Microsoft.Outlook.MeetingRequest.Send IPM.Schedule.Meeting.Request
Microsoft.Outlook.Post.Compose IPM.Post.*
Microsoft.Outlook.Post.Read IPM.Post.*
Microsoft.Outlook.Report Ipm。レポート。*
Microsoft.Outlook.Resend Ipm。再送。*
Microsoft.Outlook.Response.Compose Ipm。Schedule.Meeting.Resp.*
Microsoft.Outlook.Response.CounterPropose Ipm。Schedule.Meeting.Resp.*
Microsoft.Outlook.Response.Read Ipm。Schedule.Meeting.Resp.*
Microsoft.Outlook.RSS Ipm。Post.Rss
Microsoft.Outlook.Sharing.Compose Ipm。共有。*
Microsoft.Outlook.Sharing.Read Ipm。共有。*
Microsoft.Outlook.Task Ipm。タスク。 と IPM。TaskRequest。
Microsoft.Outlook.Explorer 該当なし。 このリボン ID を使用すると、エクスプローラー リボン、ショートカット メニュー、Backstage ビューの XML を返すことができます。

|[!注] |付箋はリボンを実装していないため、IPM。StickyNote は、リボン ID とメッセージ クラスの表には表示されません。

Microsoft.Outlook.Explorer を除くすべてのリボン ID 値について、対応するメッセージ クラスが IPM として一覧表示されていることに注意してください 。型。 を表に示します。 この表記は、ベース メッセージ クラスの 1 番目のインスタンス (たとえば、IPM.Contact) またはそこから派生したカスタム メッセージ クラス (IPM.Contact.ShoeStore) がインスペクターに表示されると、Outlook が GetCustomUI を呼び出すことを意味します。

基本メッセージ クラスは、そこから派生したカスタム メッセージ クラスと同じリボン XML を共有するため、Outlook はリボン ID ごとに 1 回だけ GetCustomUI を呼び出すので、基本メッセージ クラスではなく、派生カスタム メッセージ クラスにのみ適用されるリボン XML マークアップを指定することはできません。 ただし、同じ基本メッセージ クラスを持つ他のすべてのメッセージ クラスではなく、1 つのカスタム メッセージ クラスのインスペクターにコントロールをリボンに表示する場合は、次の操作を行います。

  1. GetCustomUI で、カスタム メッセージ クラス (IPM.Contact.ShoeStore など) のリボン ID に対応する XML マークアップをリボンに取得します。 同じベース メッセージ クラス (IPM.Contact など) のアイテムで使われるすべてのリボンに、追加されたコントロールが含まれます。
  2. リボン XML で、 IRibbonControl.Context コールバックを、カスタム メッセージ クラス固有のタブ、グループ、コントロールごとに指定します。 このコールバックを使用して、カスタム メッセージ クラスのコントロールを表示し、ベース メッセージ クラスやそれから派生した他のメッセージ クラスを表示しないようにできます。
  3. getVisible コールバックでは、コールバックに渡された IRibbonControl.Context パラメーターを Outlook Inspector オブジェクトにキャストします。 Inspector.CurrentItemMessageClass プロパティを使用して、 getVisible コールバックに True を返すか False を返すかを判断します。

すべてまたは複数の Outlook メッセージ クラスでリボンをカスタマイズするには、次の推奨事項に従います。

  • すべての Outlook インスペクターで最初の組み込みタブをカスタマイズするには、組み込みの最初のタブがすべてのリボン ID で同じ名前を持たないため、リボン ID ごとに個別のリボン XML を指定する必要があります。
  • 複数の Outlook インスペクターでリボンをカスタマイズするには、タブ名に応じてリボン ID ごとに異なるリボン XML を使用します。

エクスプローラーとインスペクターのリボン、ショートカット メニュー、Backstage ビューのカスタマイズの例など、詳細については、MSDN Web サイト の「Outlook 2010 でのユーザー インターフェイスの拡張 」を参照してください。

関連項目

Outlook の Office Fluent ユーザー インターフェイス拡張IRibbonUI オブジェクト検出エラーの概要 IRibbonControl オブジェクトの概要

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

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