XMLNodes コントロール

重要   このトピックに記載されている Microsoft Word に関する情報は、マイクロソフトがカスタム XML に関連する特定の機能の実装を Microsoft Word から削除した 2010 年 1 月より前にマイクロソフトがライセンスを供与した Microsoft Word 製品上で実行されるプログラムを使用または開発する、米国およびその領土外に在住する個人および組織での利用のみを目的として提供されるものです。 ここに記載されている Microsoft Word に関する情報を、2010 年 1 月以降にマイクロソフトがライセンスを供与した Microsoft Word 製品上で実行されるプログラムを使用または開発する、米国およびその領土内の個人または組織が参照および使用することはお勧めしません。これに該当する製品は、この日付以前にライセンスが供与された製品、および米国外での使用を目的として購入またはライセンスが供与された製品と同様には動作しません。

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

XMLNodes コントロールは、マップされた XML ノード オブジェクトのコレクションで、イベントを公開しています。 XMLNodes コントロールは、繰り返しスキーマ要素が Microsoft Office Word 文書にマップされるときにのみ作成されます。 繰り返し要素に子要素が含まれる場合、各子要素も XMLNodes コントロールとして作成されます。

Visual Studio が XML ノードのコレクションを作成すると、Word オブジェクト モデルを走査せずに、コントロールを直接プログラミングできます。 XMLNodes コントロールは、文書から要素のマッピングを削除することによってのみ削除できます。

注意

Item プロパティを通じて XMLNodes コントロールの子要素にアクセスすると、Microsoft.Office.Tools.Word.XMLNode コントロールではなく、Microsoft.Office.Interop.Word.XMLNode オブジェクトが返されます。 詳細については、「ホスト項目およびホスト コントロールのプログラム上の制限事項」を参照してください。

コントロールへのデータのバインド

XMLNodes コントロールでは、データ バインディングはサポートされません。 これは、XMLNodes コントロールには複合データ バインディング機能がなく、単純データ バインディングでは繰り返しデータを表せないためです。

書式設定

文書内のテキストに適用できる書式設定は、XMLNodes コントロールにも適用できます。

イベント

XMLNodes コントロールで使用できるイベントは次のとおりです。

イベントの比較

特定の XMLNodes コントロールのコンテキスト内でユーザーがポインターを移動したときに、イベントをキャプチャすることができます。 たとえば、Customer という名前の XMLNodes コントロールがあり、Company という名前の子 XMLNodes コントロールを持つものとします。Company には、次に示すように、CompanyName および CompanyRegion という名前の、2 つの子 XMLNodes コントロールがあります。

<Customer>
    <Company>
        <CompanyName>
        <CompanyRegion>

ポインターが Company ノードの内部に移動したときに操作ウィンドウにコントロールを表示する場合、ポインターが CompanyName と CompanyRegion のどちらの中にあっても違いはありません。両方とも Company のコンテキスト内にあるからです。 この場合は、Company の ContextEnter イベントにコードを作成できます。

多くの場合、カーソルが XMLNodes コントロールに入ると、Select および ContextEnter の両イベントが発生します。 この 2 つのイベントの相違点を次の表に示します。

Select イベント

ContextEnter イベント

カーソルが、XMLNodes コレクションのノードの 1 つの内側に置かれると発生します。

カーソルが、ノードのコンテキストの外側の領域から、XMLNodes コレクションのノードの 1 つ、または子孫ノードの内側に置かれると発生します。 つまり、コンテキストが変化する場合にのみ発生し、入れ子になった複数の XMLNodes コントロールで発生する可能性があります。

たとえば、ポインターを Customer の外部から CompanyName に移動すると、Customer、Company、および CompanyName で ContextEnter イベントが発生します。 ポインターを CompanyName から CompanyRegion に移動した場合、Company と Customer ではコンテキストが同じであるため、CompanyRegion でのみ ContextEnter イベントが発生します。 文書内では、複数の Company ノードを持つことができます。 ある Company の CompanyName ノードから別の Company の CompanyName ノードへポインターを移動した場合、コンテキストが同じであるため、Select イベントだけが発生します。

これと同じ違いは、ContextLeave イベントと Deselect イベントにもあります。

参照

処理手順

方法 : Word 文書に XMLNodes コントロールを追加する

方法 : Visual Studio 内で Word 文書にスキーマを割り当てる

概念

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

拡張オブジェクトによる Word の自動化

XMLNode コントロール

ホスト項目およびホスト コントロールのプログラム上の制限事項