次の方法で共有


_XDocument2.Extension プロパティ

グローバル スクリプト オブジェクトへの参照を取得します。グローバル スクリプト オブジェクトとは、フォームのプライマリ フォーム コード ファイルに含まれている関数およびグローバル変数を公開しているオブジェクトのことです。

このプロパティは、CLS に準拠していません。  

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

構文

'宣言
<DispIdAttribute(11)> _
ReadOnly Property Extension As Object
'使用
Dim instance As _XDocument2
Dim value As Object

value = instance.Extension
[DispIdAttribute(11)] 
Object Extension { get; }

コメント

Extension オブジェクトは、InfoPath フォームのスクリプト ファイルに実装されている関数およびグローバル変数を使いやすくするものです。通常、カスタム作業ウィンドウ、カスタム ダイアログ ボックス、またはビューの XSL 変換 (XSLT) から使用します。ただし、XSLT から使用する場合は、関数および変数への直接アクセスが必要になることがあります。

カスタム作業ウィンドウで Extension オブジェクトを使用するには、次の例に示すように、ダイナミック HTML (DHTML) ウィンドウ オブジェクトの DHTML 外部プロパティを使用して、XDocument オブジェクトへの参照を設定する必要があります。

objXDocument = window.external.XDocument;
メモ重要 :

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

次の例では、ObjectWrapper インターフェイス経由で Extension プロパティを使用して、MyMethod というカスタム メソッドを呼び出しています。マネージ コードで Extension プロパティを使用するときには、この処理が必要になります。

ObjectWrapper o = (ObjectWrapper)thisApplication.XDocuments[0].Extension;
 o.GetType().InvokeMember("MyMethod",
 BindingFlags.InvokeMethod |
 BindingFlags.DeclaredOnly | 
 BindingFlags.Public |  
 BindingFlags.Instance, null, o, null);

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

//Custom method added to the project
public string myCustomMethod()
{
return "Method value";
}

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

objXDocument = window.external.XDocument;
myString = objXDocument.Extension.myCustomMethod();

関連項目

参照

_XDocument2 インターフェイス
_XDocument2 のメンバ
Microsoft.Office.Interop.InfoPath.SemiTrust 名前空間