操作方法:存取應用程式資料
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 類別的 Name 和 Version 屬性來傳回執行中 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 命名空間的 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)