View.GetContextNodes メソッド
現在のコンテキストに基づく XML Document Object Model (DOM) ノードを含む XMLNodesCollection コレクションへの参照を返します。
このメソッドは、CLS に準拠していません。
名前空間: Microsoft.Office.Interop.InfoPath.SemiTrust
アセンブリ: Microsoft.Office.Interop.InfoPath.SemiTrust (microsoft.office.interop.infopath.semitrust.dll 内)
構文
'宣言
<DispIdAttribute(11)> _
Function GetContextNodes ( _
varNode As Object, _
varViewContext As Object _
) As XMLNodesCollection
'使用
Dim instance As View
Dim varNode As Object
Dim varViewContext As Object
Dim returnValue As XMLNodesCollection
returnValue = instance.GetContextNodes(varNode, varViewContext)
[DispIdAttribute(11)]
XMLNodesCollection GetContextNodes (
Object varNode,
Object varViewContext
)
パラメータ
- varNode
XML DOM ノード。
- varViewContext
コンテキストに使用されるコントロールの ID。
戻り値
XMLNodesCollection コレクションへの参照。
コメント
GetContextNodes メソッドによって返されるコレクションは、ビューからマップされた一連の XML DOM ノードから構成され、現在の XSL 変換 (XSLT) ノードに対応します。各ノードは、現在の選択範囲からビューの上位に向かって BODY タグに至る順序で配置されています。
パラメータを使用しない場合は、現在の選択範囲に基づくコンテキスト ノードが返されます。パラメータを指定すると、SelectNodes メソッドで取得する選択範囲に基づくコンテキスト ノードが返されます。
メモ : |
---|
GetContextNodes メソッドを、ビュー内のボタンの OnClick イベントで使用すると、現在の選択範囲に基づくノードは返されません。これは、本来はコンテキスト内にあるコントロールからフォーカスが失われるためです。このような動作を回避するには、カスタム作業ウィンドウ、メニュー、またはツール バーの GetContextNodes メソッドを使用します。 |
重要 : |
---|
このメンバは、現在開いているフォームと同じドメイン内で実行されているフォーム、またはドメインを越えたアクセス許可を付与されているフォームだけがアクセスできます。 |
例
次の例では、ViewObject オブジェクトの GetContextNodes メソッドを使用して、現在のコンテキストに基づく XML DOM ノードのコレクションを取得します。次に、XML DOM ノードのコレクションをループして、特定のノードを検索します。ノードが見つかると、field1 のテキストが更新されます。この例では、field1 という名前のフィールドを含む group1 という名前の繰り返しセクションの構造が必要です。
XMLNodesCollection contextNodes = thisXDocument.View.GetContextNodes(Type.Missing, Type.Missing);
// Scan the list of context nodes for an field1 node and if one is found
// update its text.
foreach (IXMLDOMNode contextNode in contextNodes)
{
if (contextNode.nodeName == "my:group1")
{
contextNode.selectSingleNode("my:field1").text = "found node";
break;
}
}
関連項目
参照
View インターフェイス
View のメンバ
Microsoft.Office.Interop.InfoPath.SemiTrust 名前空間