次の方法で共有


Office プロジェクト内のオブジェクトへのグローバル アクセス

Office プロジェクトを作成すると、Visual Studio によって Globals という名前のクラスがプロジェクトに自動的に生成されます。Globals クラスを使用すると、実行時にプロジェクト内の任意のコードから別のプロジェクト項目にアクセスできます。

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

Globals クラスの使用方法

Globals は、プロジェクト内の特定の項目への参照を保持する静的クラスです。Globals クラスを使用すると、実行時にプロジェクト内の任意のコードから次の項目にアクセスできます。

  • Excel ブックまたはテンプレート プロジェクト内の ThisWorkbook クラスおよび Sheetn クラス。これらのオブジェクトにアクセスするには、Globals.ThisWorkbook プロパティおよび Sheetn プロパティを使用します。

  • Word 文書またはテンプレート プロジェクト内の ThisDocument クラス。このオブジェクトにアクセスするには、Globals.ThisDocument プロパティを使用します。

  • アプリケーション レベルのプロジェクト内の ThisAddIn クラス。このオブジェクトにアクセスするには、Globals.ThisAddIn プロパティを使用します。

  • リボン デザイナーでカスタマイズした、プロジェクト内のすべてのリボン。リボンにアクセスするには、Globals.Ribbons プロパティを使用します。詳細については、「実行時のリボンへのアクセス」を参照してください。

  • Outlook アドイン プロジェクト内のすべての Outlook フォーム領域。フォーム領域にアクセスするには、Globals.FormRegions プロパティを使用します。詳細については、「実行時におけるフォーム領域へのアクセス」を参照してください。

  • リボン コントロールを作成できるようにするファクトリ オブジェクトと .NET Framework 4 か .NET Framework 4.5を対象とするプロジェクトでは、実行時にホスト項目。このオブジェクトにアクセスするには、Globals.Factory プロパティを使用します。このオブジェクトは、次のいずれかのインターフェイスを実装するクラスのインスタンスです。

たとえば、Globals.Sheet1 プロパティを使用して、Excel のドキュメント レベルのプロジェクトでユーザーが操作ウィンドウのボタンをクリックしたときに Sheet1 の NamedRange コントロールにテキストを挿入できます。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles Button1.Click
    Globals.Sheet1.NamedRange1.Value2 = Me.TextBox1.Text
End Sub
private void button1_Click(object sender, EventArgs e)
{
    Globals.Sheet1.namedRange1.Value2 = this.textBox1.Text;
}

Globals クラスの初期化

ドキュメントまたはアドインが完全に初期化される前に Globals クラスを使用するコードでは、ランタイム例外がスローされることがあります。たとえば、クラス レベルの変数を宣言している場合に Globals を使用すると、処理に失敗することがあります。これは、Globals クラスが初期化される時に一部のホスト項目への参照がなされず、その後、宣言されたオブジェクトがインスタンス化される可能性があるからです。

[!メモ]

Globals クラスがデザイン時に初期化されることはありませんが、コントロール インスタンスはデザイナーによって作成されます。つまり、ユーザー コントロール クラス内から Globals クラスのプロパティを使用するユーザー コントロールを作成する場合は、返されるオブジェクトを使用する前に、プロパティによって null が返されるかどうかを確認する必要があります。

参照

概念

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

実行時におけるフォーム領域へのアクセス

ホスト項目とホスト コントロールの概要

Document ホスト項目

Workbook ホスト項目

Worksheet ホスト項目

Office ソリューションのコードの記述