共用方式為


操作方法:存取應用程式資料

InfoPath Managed 程式碼物件模型會提供一些物件和集合,可用來存取與 InfoPath 應用程式相關的資訊,包括與表單基礎 XML 文件及表單定義檔 (.xsf) 相關的資訊。這項資料會透過 InfoPath 物件模型階層中最上層的物件來存取 (該物件會使用 Application 類別來執行個體化)。

在使用 Microsoft Visual Studio Tools for Applications (VSTA) 或 Visual Studio 搭配 Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office system 建立的 InfoPath Managed 程式碼表單範本專案中,您可以使用 this (C#) 或 Me (Visual Basic) 關鍵字來存取表示目前 InfoPath 應用程式之 Application 類別的執行個體,然後此類別就可以用來存取 Application 類別的屬性和方法。

範例

顯示應用程式名稱、版本及語言識別碼

在下列範例中,會使用 Application 類別的 NameVersion 屬性來傳回執行中 InfoPath 執行個體的名稱及版本號碼。然後,會使用 LanguageSettings 屬性來傳回 LanguageSettings 物件,接著使用此物件來傳回目前用於 InfoPath 使用者介面語言之語言的 LCID (四位數號碼)。最後,所有這些資訊就會顯示在訊息方塊中。

重要

若要讓 LanguageSettings 屬性正常運作,您必須建立對 Microsoft Office 12.0 物件程式庫的參照 (從 Microsoft Visual Studio Tools for Applications (VSTA) 或 Visual Studio 2005 中 [加入參考] 對話方塊中的 [COM] 索引標籤),如此一來,就可以建立對含有 LanguageSettings 類別之 Microsoft.Office.Core 命名空間的參照。此外,該表單必須以「完全信任」的形式執行。

這個範例需要在表單程式碼模組的宣告區段內使用 Microsoft.Office.Core 命名空間的 usingImports 指令。

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)