実行時のリボンへのアクセス

リボンを表示、非表示、変更するコードを作成し、ユーザーがカスタム作業ウィンドウ、アクション ウィンドウ、または Outlook フォーム領域のコントロールからそのコードを実行できるようにすることができます。

リボンには、Globals クラスを使用してアクセスできます。 Outlook プロジェクトの場合は、特定の Outlook インスペクター ウィンドウまたは Outlook エクスプ ローラー ウィンドウに表示されるリボンにアクセスできます。

適用対象: このトピックの情報は、Excel、InfoPath 2013 と InfoPath 2010、Outlook、PowerPoint、Project、Visio、Word のアプリケーションのドキュメント レベルのプロジェクトおよび VSTO アドイン プロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Globals クラスを使用してリボンにアクセスする

Globals クラスを使用して、プロジェクトのどこからでもドキュメント レベルのプロジェクトまたは VSTO アドイン プロジェクトのリボンにアクセスできます。

Globals クラスの詳細については、「Office プロジェクト内のオブジェクトへのグローバル アクセス」を参照してください。

次の例では、Globals クラスを使用して Ribbon1 という名前のカスタム リボンにアクセスし、リボンのコンボ ボックスに表示されるテキストを Hello World に設定します。

private void Access_All_Ribbons_Globals()
{
    Globals.Ribbons.Ribbon1.comboBox1.Text = "Hello World";
}

特定の Outlook インスペクター ウィンドウに表示されるリボンのコレクションにアクセスする

Outlook "インスペクター" に表示されるリボンのコレクションにアクセスできます。 インスペクターは、ユーザーが電子メール メッセージを作成するなど、特定のタスクを実行するときに、Outlook で開かれるウィンドウです。 インスペクター ウィンドウのリボンにアクセスするには、Globals クラスの Ribbons プロパティを呼び出し、インスペクターを表す Inspector オブジェクトを渡します。

次の例では、現在フォーカスがあるインスペクターのリボン コレクションを取得します。 この例では次に、Ribbon1 という名前のリボンにアクセスして、リボンのコンボ ボックスに表示されるテキストを Hello World に設定します。

private void Access_Ribbons_By_Inspector()
{
    ThisRibbonCollection ribbonCollection = 
        Globals.Ribbons
            [Globals.ThisAddIn.Application.ActiveInspector()];
    ribbonCollection.Ribbon1.comboBox1.Text = "Hello World";
}

特定の Outlook エクスプローラーで表示されるリボンのコレクションにアクセスする

Outlook "エクスプローラー" に表示されるリボンのコレクションにアクセスできます。 エクスプ ローラーは、Outlook のインスタンスの主要なアプリケーション ユーザー インターフェイス (UI) です。 エクスプローラー ウィンドウのリボンにアクセスするには、Globals クラスの Ribbons プロパティを呼び出し、エクスプローラーを表す Explorer オブジェクトを渡します。

次の例では、現在フォーカスがあるエクスプローラーのリボン コレクションを取得します。 この例では次に、Ribbon1 という名前のリボンにアクセスして、リボンのコンボ ボックスに表示されるテキストを Hello World に設定します。

private void Access_Ribbons_By_Explorer()
{
    ThisRibbonCollection ribbonCollection =
        Globals.Ribbons
            [Globals.ThisAddIn.Application.ActiveExplorer()];
    ribbonCollection.Ribbon1.comboBox1.Text = "Hello World";
}