次の方法で共有


XMLNodes コントロール

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

Microsoft Office のバージョン

  • Word 2007

  • Word 2003

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

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

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

aad84e19.alert_note(ja-jp,VS.90).gifメモ :

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 文書にスキーマを割り当てる

概念

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

XMLNode コントロール

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

その他の技術情報

Word ホスト コントロール

Excel のホスト コントロール