Office プロジェクト内のオブジェクトへのグローバル アクセス
Office プロジェクトを作成すると、Visual Studio は自動的に Globals
という名前のクラスをプロジェクトに生成します。 Globals
クラスを使用して、プロジェクト内の任意のコードから実行時に異なる複数のプロジェクト項目にアクセスすることができます。
対象: このトピックの情報は、ドキュメントレベルのプロジェクトおよび VSTO アドイン プロジェクトに適用されます。 「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。
Globals クラスを使用する方法
Globals
はプロジェクト内の特定の項目への参照を保持する静的クラスです。 Globals
クラスを使用することで、実行時にプロジェクト内の任意のコードから次の項目へとアクセスすることができます。
Excel ブックまたはテンプレート プロジェクトの
ThisWorkbook
およびSheet
n クラス。 これらのオブジェクトは、Globals.ThisWorkbook
およびSheet
n プロパティを使用してアクセスすることができます。Word 文書またはテンプレート プロジェクトの
ThisDocument
クラス。 このオブジェクトには、Globals.ThisDocument
プロパティを使用してアクセスすることができます。VSTO アドイン プロジェクトの
ThisAddIn
クラス。 このオブジェクトには、Globals.ThisAddIn
プロパティを使用してアクセスすることができます。リボン デザイナーを使用してカスタマイズした、プロジェクト内のすべてのリボン。 リボンには、
Globals.Ribbons
プロパティを使用してアクセスすることができます。 詳細については、「実行時のリボンへのアクセス」を参照してください。Outlook VSTO アドイン プロジェクトのすべての Outlook フォーム領域。 フォーム領域には、
Globals.FormRegions
プロパティを使用してアクセスすることができます。 詳細については、「実行時のフォーム領域へのアクセス」を参照してください。.NET Framework 4 または .NET Framework 4.5 をターゲットとするプロジェクトで実行時にリボン コントロールおよびホスト項目を作成できるようにするファクトリ オブジェクト。 このオブジェクトには、
Globals.Factory
プロパティを使用してアクセスすることができます。 このオブジェクトは、次のいずれかのインターフェイスを実装するクラスのインスタンスです。たとえば、
Globals.Sheet1
プロパティを使用すると、Excel のドキュメントレベルのプロジェクトの操作ウィンドウでユーザーがボタンをクリックした場合に NamedRange のSheet1
コントロールにテキストを挿入することができます。
ドキュメントまたは VSTO アドインが初期化される前にコードで Globals
クラスを使用しようとすると、実行時の例外がスローされる場合があります。 たとえば、クラス レベルの変数の宣言が Globals
を使用することで失敗する場合があります。これは、宣言されたオブジェクトがインスタンス化される前に、 Globals
クラスがすべてのホスト項目への参照を使用して初期化されない可能性があるためです。
Note
Globals
クラスは設計時に初期化されることはありませんが、コントロールのインスタンスがデザイナーによって作成されます。 これは、ユーザー コントロール クラス内から Globals
クラスのプロパティを使用するユーザー コントロールを作成する場合、返されるオブジェクトの使用を試みる前に、そのプロパティから null が返されるかどうかをチェックする必要があることを意味します。