次の方法で共有


[方法] InfoPath 2003 オブジェクト モデルを使用してビューを操作する方法

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