現在のコンテキストに基づいて、XML Document Object Model (DOM) ノードが格納されている XMLNodesCollection コレクションへの参照を取得します。
名前空間: Microsoft.Office.Interop.InfoPath
アセンブリ: Microsoft.Office.Interop.InfoPath (microsoft.office.interop.infopath.dll 内)
構文
'宣言
<DispIdAttribute(11)> _
Function GetContextNodes ( _
<InAttribute> <OptionalAttribute> varNode As Object, _
<InAttribute> <OptionalAttribute> 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 (
[OptionalAttribute] [InAttribute] Object varNode,
[OptionalAttribute] [InAttribute] Object varViewContext
)
パラメータ
- varNode
XML DOM ノード。
- varViewContext
コンテキストに使用されるコントロールの ID。
戻り値
XMLNodesCollection コレクションへの参照。
コメント
GetContextNodes メソッドによって返されるコレクションは、ビューからマップされた一連の XML DOM ノードから構成され、現在の XSL 変換 (XSLT) ノードに対応します。各ノードは、現在の選択範囲からビューの上位に向かって BODY タグに至る順序で配置されています。
パラメータを使用しない場合は、現在の選択範囲に基づくコンテキスト ノードが返されます。パラメータを指定すると、SelectNodes メソッドで取得する選択範囲に基づくコンテキスト ノードが返されます。
![]() |
---|
コンテキストにあると想定されるコントロールからフォーカスが失われるため、ビュー内のボタンの OnClick イベントで GetContextNodes メソッドを使用した場合、このメソッドは現在の選択に基づくノードを返しません。この動作を回避するには、カスタム作業ウィンドウ、メニュー、またはツール バーから 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 名前空間