次の方法で共有


XmlForm.MergeForm メソッド (XPathNavigator)

現在のフォームを、メソッドに渡された XPathNavigator によって返されるノードに指定されたターゲット フォームにマージします。

名前空間:  Microsoft.Office.InfoPath
アセンブリ:  Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)

構文

'宣言
Public MustOverride Sub MergeForm ( _
    target As XPathNavigator _
)
'使用
Dim instance As XmlForm
Dim target As XPathNavigator

instance.MergeForm(target)
public abstract void MergeForm(
    XPathNavigator target
)

パラメーター

例外

例外 条件
InvalidOperationException

MergeForm メソッドが Loading イベントから呼び出されました。

ArgumentNullException

このメソッドに渡されたパラメーターは null 参照 (Visual Basic ではNothing ) です。

ArgumentException

このメソッドに渡されたパラメーターは無効です。たとえば、型または形式が正しくありません。

解説

MergeForm メソッドは、InfoPath エディターの [フォームの結合] コマンドを使用することと同等です。target パラメーターとして渡された XPathNavigator によって提供される XML データは、現在のフォームにマージされる有効な XML でなければなりません。提供された XML データが InfoPath フォームとしてラップされていない場合、InfoPath によってデータがラップされます。

このメンバーには、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームのみがアクセスできます。

この型またはメンバーには、Microsoft InfoPath Filler で開かれたフォームを実行中のコードからのみアクセスできます。

次のコードの例では、System.Xml.XmlDocument オブジェクトを使用して、指定された URL からフォームを読み込み、次に System.Xml.XPath.XPathNavigator オブジェクトを、マージするフォームのルートに配置します。最後に、XPathNavigator を MergeForm(System.Xml.XPath.XPathNavigator) メソッドに渡して、フォームを現在のフォームにマージします。

string pathToFile = @"C:\FormToMerge\Form1.xml";
XmlDocument FormXML = new XmlDocument();

// The form tempate must be Full Trust for the 
// XmlDocument.Load method to work.
FormXML.Load(pathToFile);

XPathNavigator nav = FormXML.CreateNavigator();

// Merge the root node (the entire document) into the current form.
this.MergeForm(nav);
Dim pathToFile As String = "C:\FormToMerge\Form1.xml"
Dim FormXML As New XmlDocument

' The form tempate must be Full Trust for the 
' XmlDocument.Load method to work.
FormXML.Load(pathToFile)

Dim nav As XPathNavigator = FormXML.CreateNavigator()

' Merge the root node (the entire document) into the current form.
Me.MergeForm(nav)

関連項目

参照

XmlForm クラス

XmlForm メンバー

MergeForm オーバーロード

Microsoft.Office.InfoPath 名前空間