Office プロジェクトを作成すると、Visual Studio によってプロジェクトに Globals という名前のクラスが自動的に生成されます。
Globals クラスを使用すると、プロジェクト内の任意のコードから実行時にいくつかの異なるプロジェクト項目にアクセスできます。
適用対象: このトピックの情報は、ドキュメント レベルのプロジェクトと VSTO アドイン プロジェクトに適用されます。 「Office アプリケーションとプロジェクトの種類で使用できる機能」を参照してください。
Globals クラスの使用方法
Globals は、プロジェクト内の特定の項目への参照を保持する静的クラスです。
Globals クラスを使用すると、実行時にプロジェクト内の任意のコードから次の項目にアクセスできます。
Excel ブックまたはテンプレート プロジェクトの
ThisWorkbookクラスとSheetn クラス。 これらのオブジェクトには、Globals.ThisWorkbookプロパティとSheetn プロパティを使用してアクセスできます。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 クラスがすべてのホスト項目への参照で初期化されない可能性があるため、失敗することがあります。
注
Globals クラスはデザイン時には初期化されませんが、コントロール インスタンスはデザイナーによって作成されます。 つまり、ユーザー コントロール クラス内から Globals クラスのプロパティを使用するユーザー コントロールを作成する場合は、返されたオブジェクトを使用する前に、プロパティが null を 返すかどうかを確認する必要があります。