ブックのホスト項目
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 ブックを拡張する」を参照してください。