InfoPath 2003 オブジェクト モデルを使用してビューを操作するHow to: Work with Views Using the InfoPath 2003 Object Model

InfoPath フォーム テンプレートの作業を行うときは、フォームのビューにアクセスし、ビューに格納されているデータに対してさまざまな操作を実行するためのコードを書くことができます。InfoPath 2003 互換のオブジェクト モデルでは、ViewObject インターフェイスのメンバーを使用してフォームのビューにアクセスできます。When working with an InfoPath form template, you can write code to access the form's views, and then perform a variety of actions on the data that the views contain. The InfoPath 2003-compatible object model supports access to a form's views through the use of the members of the ViewObject interface.

ViewObject インターフェイスの概要Overview of the ViewObject Interface

ViewObject インターフェイスには、次のメソッドとプロパティがあります。フォームの開発者は、これらを使用して、InfoPath のビューを操作できます。The ViewObject interface provides the following methods and properties, which form developers can use to interact with an InfoPath view.


ViewObject インターフェイスのメソッドとプロパティは、 OnLoad イベント中には利用できません。The methods and properties of the ViewObject interface are not available during the OnLoad event.

名前Name 説明Description
DisableAutoUpdate メソッドDisableAutoUpdate method
XML Document Object Model (DOM) とビューの同期を無効にします。Disables synchronization of the XML Document Object Model (DOM) and the view.
EnableAutoUpdate メソッドEnableAutoUpdate method
XML DOM とビューの同期を有効にします。Enables synchronization of the XML DOM and the view.
ExecuteAction メソッドExecuteAction method
InfoPath の編集操作を実行します。Executes an InfoPath editing action.
Export メソッドExport method
指定した形式のファイルとしてビューをエクスポートします。Exports the view as a file of the specified format.
ForceUpdate メソッドForceUpdate method
XML DOM とビューを同期します。Synchronizes the XML DOM and the view.
GetContextNodes メソッドGetContextNodes method
指定した XML ノードとビュー コンテキストまたはビュー内の現在の選択範囲に基づいて、XMLNodesCollection インターフェイスへの参照を返します。Returns a reference to the XMLNodesCollection interface, based on the specified XML node and view context or on the current selection in the view.
GetSelectedNodes メソッドGetSelectedNodes method
ビュー内の現在の選択範囲に基づいて、 XMLNodesCollection インターフェイスへの参照を返します。Returns a reference to the XMLNodesCollection interface, based on the current selection in the view.
SelectNodes メソッドSelectNodes method
ビュー内の XML ノードの範囲を選択します。Selects a range of XML nodes in the view.
SelectText メソッドSelectText method
ビュー内の指定した XML ノードに含まれるテキストを選択します。Selects the text contained in the specified XML node in the view.
SwitchView メソッドSwitchView method
InfoPath のフォームを、指定したビューに切り替えます。Switches an InfoPath form to the specified view
Name プロパティName property
現在のビューの名前を示す文字列値を返します。Returns a string value indicating the name of the current view.
Window プロパティWindow property
ビューに関連付けられている Window にアクセスする WindowObject インターフェイスへの参照を返します。Returns a reference to the WindowObject interface which accesses the Window associated with the view.


InfoPath 2003 互換オブジェクト モデルには、ViewInfosCollection インターフェイスもあります。これを使用して、フォーム内で実装されているすべてのビューに関する情報を取得できます。The InfoPath 2003-compatible object model also provides the ViewInfosCollection interface, which can be used to get information about all of the views implemented in a form.

ViewObject インターフェイスを使用するUsing the ViewObject Interface

ViewObject インターフェイスは、 XDocument インターフェイス (フォーム コード クラスの メソッドで初期化される thisXDocument 変数を通じてアクセス) の _Startup プロパティを通じてアクセスされます。たとえば、次のコード例では、 UIObject インターフェイスの Alert メソッドを使用して、フォームの基になる XML ドキュメントに関連付けられている現在のビューの名前を示すメッセージ ボックスを表示する方法を示します。The ViewObject interface is accessed through the View property of the XDocument interface (which is accessed through the thisXDocument variable that is initialized in the _Startup method of the form code class). For example, the following code sample demonstrates how to use the Alert method of the UIObject interface to display a message box with the name of the current view that is associated with a form's underlying XML document.

thisXDocument.UI.Alert("Current view name: " + 
thisXDocument.UI.Alert("Current view name: " & _

すべての InfoPath フォームには既定のビューが 1 つ以上含まれますが、フォームの基になる XML ドキュメントのビューを複数作成することもできます。フォーム内に複数のビューがあるときは、 View オブジェクトを使用して、現在アクティブなビューを操作できます。現在アクティブなビューをプログラムによって変更するには、次のコード例に示すとおり、 View オブジェクトの SwitchView メソッドを使用します。All InfoPath forms contain at least one default view; however, InfoPath also supports the creation of multiple views of a form's underlying XML document. When you have multiple views in a form, the View object can be used to work with the view that is currently active. You can programmatically change the view that is currently active by using the SwitchView method of the View object, as the following code sample demonstrates.


ビューを切り替えるこの例は、フォームを開いた後にのみ動作します。 OnLoad イベントの発生中に既定のビューを設定するには、次の例に示すとおり、 ViewInfoObject インターフェイスの IsDefault プロパティを使用します。The previous example for switching a view will work only after the form is opened. To set a default view during the OnLoad event, use the IsDefault property of the ViewInfoObject interface, as shown in the following example.

thisXDocument.ViewInfos["MyDefaultView"].IsDefault = true;
thisXDocument.ViewInfos("MyDefaultView").IsDefault = True