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 アイテムの種類を決めることもできます。
MailItem や PostItem などの場合、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 つのカスタム メッセージ クラスのインスペクターにコントロールをリボンに表示する場合は、次の操作を行います。
- GetCustomUI で、カスタム メッセージ クラス (IPM.Contact.ShoeStore など) のリボン ID に対応する XML マークアップをリボンに取得します。 同じベース メッセージ クラス (IPM.Contact など) のアイテムで使われるすべてのリボンに、追加されたコントロールが含まれます。
- リボン XML で、 IRibbonControl.Context コールバックを、カスタム メッセージ クラス固有のタブ、グループ、コントロールごとに指定します。 このコールバックを使用して、カスタム メッセージ クラスのコントロールを表示し、ベース メッセージ クラスやそれから派生した他のメッセージ クラスを表示しないようにできます。
- 各 getVisible コールバックでは、コールバックに渡された IRibbonControl.Context パラメーターを Outlook Inspector オブジェクトにキャストします。 Inspector.CurrentItem の MessageClass プロパティを使用して、 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 のサポートおよびフィードバックを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示