Share via


アプリケーション データにアクセスする方法

適用対象: InfoPath 2010 | InfoPath Forms Services | Office 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio Tools for Microsoft Office

InfoPath マネージ コード オブジェクト モデルには、InfoPath アプリケーションに関する情報 (フォームの基になる XML ドキュメント、フォーム定義ファイル (.xsf) などに関する情報) へのアクセスに使用できるオブジェクトとコレクションがあります。これらのデータには、InfoPath オブジェクト モデルの階層構造の最上位にあるオブジェクトを通じてアクセスします。このオブジェクトは、Application クラスを使用してインスタンス化されます。

Microsoft Visual Studio Tools for Applications を使用して作成した InfoPath マネージ コード フォーム テンプレート プロジェクトでは、this (C#) または Me (Visual Basic) キーワードを使用して、現在の InfoPath アプリケーションを表す Application クラスのインスタンスにアクセスできます。さらに、それを使用して、Application クラスのプロパティとメソッドにアクセスできます。

アプリケーション名、バージョン、および言語 ID を表示する

次の例では、Application クラスの Name プロパティと Version プロパティを使用して、InfoPath の実行中のインスタンスの名前とバージョン番号を取得します。次に、LanguageSettings プロパティを使用して LanguageSettings オブジェクトを取得し、そのオブジェクトを使用して、現在 InfoPath のユーザー インターフェイス言語に使われている言語の LCID (4 桁の数字) を取得します。最後に、これらすべての情報をメッセージ ボックスに表示します。

重要

LanguageSettings プロパティが機能するためには、(Microsoft Visual Studio Tools for Applications の [参照の追加] ダイアログ ボックスの [COM] タブから) Microsoft Office 14.0 オブジェクト ライブラリへの参照を確立する必要があります。これにより、LanguageSettings クラスを含む Microsoft.Office.Core 名前空間への参照が確立されます。さらに、フォームは完全信頼として実行されている必要があります。

この例を使用するには、フォーム コード モジュールの宣言セクションに Microsoft.Office.Core 名前空間の using または Imports ディレクティブが必要です。

string appName = this.Application.Name;
string appVersion = this.Application.Version;
LanguageSettings langSettings = 
   (LanguageSettings)this.Application.LanguageSettings;
int langID = 
   langSettings.get_LanguageID(MsoAppLanaguageID.msoLanguageIDUI);

MessageBox.Show(
   "Name: " + appName + System.Environment.NewLine +
   "Version: " + appVersion + System.Environment.NewLine +
   "Language ID: " + langID);
Dim appName As String appName = Me.Application.Name
Dim appVersion As String = Me.Application.Version
Dim langSettings As LanguageSettings = _
   DirectCast(Me.Application.LanguageSettings, LanguageSettings)
Dim langID As Integer = _
   langSettings.LanguageID(MsoAppLanaguageID.msoLanguageIDUI)

MessageBox.Show( _
   "Name: " + appName + System.Environment.NewLine + _
   "Version: " + appVersion + System.Environment.NewLine + _
   "Language ID: " + langID)