ドキュメント ホスト項目

Document ホスト項目は、Word のプライマリ相互運用機能アセンブリの Document 型を拡張する型です。 Document ホスト項目には、 Document オブジェクトと同じプロパティ、メソッド、イベントがすべて用意されています。また、追加のイベントも公開し、ホスト コントロールおよび Windows フォーム コントロールのコンテナーとしても機能します。

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

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

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

プロジェクトのドキュメントにアクセスするには、 ThisDocument クラスを使用します。 ドキュメント レベルのプロジェクトを作成すると、Visual Studio が、Word とカスタマイズ コード間の通信リンクとして機能する ThisDocument クラスを生成します。 ThisDocument クラスによって、 Document ホスト項目のメンバーにアクセスし、ドキュメントが開かれたり閉じられたりしたときにコードを実行するなど、カスタマイズの基本的なタスクを実行できます。 また、このクラスを使用して、ドキュメントにコントロールを追加することもできます。 さまざまな種類のコントロールを組み合わせ、コードを記述すると、コントロールをデータにバインドしたり、ユーザーから情報を収集したり、ユーザーの操作に応答したりできます。 詳細については、「プログラムによるドキュメントレベルのカスタマイズ」を参照してください。

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

ドキュメント レベルのプロジェクトのドキュメント ホスト項目に関する制限

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

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

アプリケーションレベルのプロジェクトのドキュメント ホスト項目について

VSTO アドイン プロジェクトでは、Word で開いている任意のドキュメントで Document ホスト項目を実行時に生成できます。 Document ホスト項目を使用して、関連付けられたドキュメントにコントロールを追加したり、 Document オブジェクトで使用できないイベントを処理したりできます。

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