InfoPath フォーム テンプレートの作業を行うときは、フォームのビューにアクセスし、ビューに格納されているデータに対してさまざまな操作を実行するためのコードを書くことができます。InfoPath 2003 互換のオブジェクト モデルでは、ViewObject インターフェイスのメンバを使用してフォームのビューにアクセスできます。
ViewObject インターフェイスの概要
ViewObject インターフェイスには、次のメソッドとプロパティがあります。フォームの開発者は、これらを使用して、InfoPath のビューを操作できます。
![]() |
---|
ViewObject インターフェイスのメソッドとプロパティは、OnLoad イベント中には利用できません。 |
名前 | 説明 |
---|---|
DisableAutoUpdate メソッド |
XML Document Object Model (DOM) とビューの同期を無効にします。 |
EnableAutoUpdate メソッド |
XML DOM とビューの同期を有効にします。 |
ExecuteAction メソッド |
InfoPath の編集操作を実行します。 |
Export メソッド |
指定した形式のファイルとしてビューをエクスポートします。 |
ForceUpdate メソッド |
XML DOM とビューを同期します。 |
GetContextNodes メソッド |
指定した XML ノードとビュー コンテキストまたはビュー内の現在の選択範囲に基づいて、XMLNodesCollection インターフェイスへの参照を返します。 |
GetSelectedNodes メソッド |
ビュー内の現在の選択範囲に基づいて、XMLNodesCollection インターフェイスへの参照を返します。 |
SelectNodes メソッド |
ビュー内の XML ノードの範囲を選択します。 |
SelectText メソッド |
ビュー内の指定した XML ノードに含まれるテキストを選択します。 |
SwitchView メソッド |
InfoPath のフォームを、指定したビューに切り替えます。 |
Name プロパティ |
現在のビューの名前を示す文字列値を返します。 |
Window プロパティ |
ビューに関連付けられている Window にアクセスする WindowObject インターフェイスへの参照を返します。 |
![]() |
---|
InfoPath 2003 互換オブジェクト モデルには、ViewInfosCollection インターフェイスもあります。これを使用して、フォーム内で実装されているすべてのビューに関する情報を取得できます。 |
ViewObject インターフェイスを使用する
ViewObject インターフェイスは、XDocument インターフェイス (フォーム コード クラスの _Startup
メソッドで初期化される thisXDocument
変数を通じてアクセス) の View プロパティを通じてアクセスされます。たとえば、次のコード例では、UIObject インターフェイスの Alert メソッドを使用して、フォームの基になる XML ドキュメントに関連付けられている現在のビューの名前を示すメッセージ ボックスを表示する方法を示します。
thisXDocument.UI.Alert("Current view name: " +
thisXDocument.View.Name);
thisXDocument.UI.Alert("Current view name: " & _
thisXDocument.View.Name)
すべての InfoPath フォームには既定のビューが 1 つ以上含まれますが、フォームの基になる XML ドキュメントのビューを複数作成することもできます。フォーム内に複数のビューがあるときは、View オブジェクトを使用して、現在アクティブなビューを操作できます。現在アクティブなビューをプログラムによって変更するには、次のコード例に示すとおり、View オブジェクトの SwitchView メソッドを使用します。
thisXDocument.View.SwitchView("MySecondView");
thisXDocument.View.SwitchView("MySecondView")
ビューを切り替えるこの例は、フォームを開いた後にのみ動作します。OnLoad イベントの発生中に既定のビューを設定するには、次の例に示すとおり、ViewInfoObject インターフェイスの IsDefault プロパティを使用します。
thisXDocument.ViewInfos["MyDefaultView"].IsDefault = true;
thisXDocument.ViewInfos("MyDefaultView").IsDefault = True