次の方法で共有


XmlForm.Extension プロパティ

System.Reflection を使用してフォームのプライマリ フォーム コード ファイルに含まれる関数およびグローバル変数にアクセスするための Object を取得します。

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

構文

'宣言
Public MustOverride ReadOnly Property Extension As Object
'使用
Dim instance As XmlForm
Dim value As Object

value = instance.Extension
public abstract Object Extension { get; }

プロパティ値

System.Reflection を使用してフォームのプライマリ フォーム コード ファイルに含まれる関数およびグローバル変数にアクセスするための Object

コメント

Extension プロパティによって返される System.Object を使用すると、InfoPath フォームのコード ファイルに実装されている関数とグローバル変数を簡単に使用できるようになります。通常はカスタム作業ウィンドウ、カスタム ダイアログ ボックス、または関数や変数への直接アクセスが必要な場合があるビューの XSL 変換 (XSLT) で使用します。

カスタム作業ウィンドウ内で System.Object を使用するには、最初に、DHTML window オブジェクトのダイナミック HTML (DHTML) external プロパティを使用して、XmlForm オブジェクトへの参照を設定する必要があります。次に例を示します。

[JScript]
objXmlForm = window.external.XmlForm;

このメンバは、現在開いているフォームと同じドメイン内で実行されているフォーム、またはドメインを越えたアクセス許可を付与されているフォームだけがアクセスできます。

この型またはメンバは、Microsoft Office InfoPath 2007 で開いているフォームで実行されているコードからのみアクセスできます。

次の例では、Extension プロパティを使用して System.Object を返し、MyMethod というカスタム メソッドを呼び出します。

object extObj = this.Extension;
extObj.GetType().InvokeMember("MyMethod",
   BindingFlags.InvokeMethod |
   BindingFlags.DeclaredOnly |
   BindingFlags.Public |
   BindingFlags.Instance, null, extObj, null);
Dim extObj As Object extObj = Me.Extension
extObj.GetType().InvokeMember("MyMethod", _
   BindingFlags.InvokeMethod Or _
   BindingFlags.DeclaredOnly Or _
   BindingFlags.Public Or _
   BindingFlags.Instance, Nothing, extObj, Nothing)

次の例では、InfoPath フォーム コード プロジェクト クラスの myCustomMethod というメソッドに、Extension プロパティを使用してカスタム作業ウィンドウからアクセスできることを示しています。

// Custom method added to the form code project.
public string myCustomMethod()
{
   return "Method value";
}
' Custom method added to the form code project.
Function myCustomMethod() As String
   myCustomMethod = "Method value"
End Function

カスタム作業ウィンドウのスクリプトから myCustomMethod にアクセスするには、DHTML window オブジェクトの DHTML external プロパティを使用します。

[JScript]
objXmlForm = window.external.XmlForm;
myString = objXmlForm.Extension.myCustomMethod();
Dim objXmlForm
Dim myString
Set objXmlForm = window.external.XmlForm
myString = objXmlForm.Extension.myCustomMethod()

関連項目

参照

XmlForm クラス
XmlForm のメンバ
Microsoft.Office.InfoPath 名前空間