ブックのホスト項目

Workbook ホスト項目は、Excel のプライマリ相互運用機能アセンブリの Workbook 型を拡張する型です。 Workbook ホスト項目は Workbook オブジェクトと同じプロパティ、メソッド、イベントがすべて用意されているだけなく、追加の機能も用意されています。

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

ドキュメント レベルのプロジェクトには、プロジェクト内のブックを表す既定の Workbook ホスト項目があります。 VSTO アドイン プロジェクトでは、実行時に Workbook ホスト項目を生成できます。

ドキュメント レベルのプロジェクトでのブックのホスト項目について

プロジェクトのブックにアクセスするには、 ThisWorkbook クラスを使用します。 ThisWorkbook クラスによって、 Workbook ホスト項目のメンバーにアクセスし、ブックが開かれたり閉じられたりしたときにコードを実行するなど、カスタマイズの基本的なタスクを実行できます。 詳細については、「プログラムによるドキュメントレベルのカスタマイズ」を参照してください。

ThisWorkbook クラスには、プロジェクトでコードの記述を開始できる場所が用意されています。 このクラスには、Excel のプライマリ相互運用機能アセンブリの Workbook オブジェクトと同じプロパティ、メソッド、イベントがすべて用意されているため、 ThisWorkbook を使用して Excel のオブジェクト モデルにアクセスすることもできます。 詳細については、「Excel オブジェクト モデルの概要」を参照してください。

[ソリューション エクスプローラー]ThisWorkbook プロジェクト項目をダブルクリックすると、ブックのデザイナーが表示され、 [プロパティ] ウィンドウにブックのプロパティとイベントが表示されます。

ドキュメント レベルのプロジェクトでのブックのホスト項目の制限

ドキュメント レベルのプロジェクトには、1 つの Workbook ホスト項目のみ (つまり ThisWorkbook クラス) を含めることができます。 デザイン時に新しい Workbook ホスト項目をプロジェクトに追加することはできません。また、実行時にドキュメント レベルのカスタマイズから新しい Workbook ホスト項目を作成することもできません。

実行時に新しい Excel ブックを作成すると、そのワークシートは Workbook型になります。 これはホスト項目ではないため、ホスト コントロールや Windows フォーム コントロールを含めることはできません。 実行時にブックを作成する方法の詳細については、「方法: プログラムで新しいブックを作成する」を参照してください。

Workbook ホスト項目は、ホスト コントロールのコンテナーとしては機能しません。 そのため、表示されるコントロールをブックに追加することはできませんが、 DataSetなどのコンポーネントを追加すると、すべてのワークシートでそのコンポーネントを共有できます。 ドキュメント レベルのプロジェクトでは、ブックで使用できるコンポーネントは、 [ツールボックス][コンポーネント] タブ、 [データ] タブ、 [すべての Windows フォーム]タブに表示されます。

Note

Visual Studio の Office 開発ツールでは、共有ブックはサポートされません。

VSTO アドイン プロジェクトでのブック ホスト項目について

VSTO アドイン プロジェクトでは、Excel で開いている任意のブックの Workbook ホスト項目を実行時に生成できます。 Workbook ホスト項目を生成するには、GetVstoObject メソッドを使用します。 詳細については、「実行時に VSTO アドインの Word 文書と Excel ブックを拡張する」を参照してください。