應用程式層級增益集程式設計
當您透過建立應用程式層級增益集擴充 Microsoft Office 應用程式時,會直接依據專案中的 ThisAddIn 類別撰寫程式碼。 您可以使用這個類別來執行工作,例如,存取 Microsoft Office 主應用程式的物件模型、自訂應用程式的使用者介面 (UI),以及將增益集中的物件公開至其他 Office 方案。
**適用於:**本主題中的資訊適用於 Microsoft Office 2010 和 2007 Microsoft Office system 的應用程式層級專案。 如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
在增益集專案中撰寫程式碼時,某些方面會與 Visual Studio 中其他類型的專案不同。 在這些差異中,有許多都是因為將 Office 物件模型公開為 Managed 程式碼的方式所造成。 如需詳細資訊,請參閱撰寫 Office 方案中的程式碼。
如需您可以使用 Visual Studio 中的 Office 開發工具建立之應用程式層級增益集和其他類型方案的一般資訊,請參閱 Office 方案開發概觀。
使用 ThisAddIn 類別
您可以在 ThisAddIn 類別中開始撰寫增益集程式碼。 Visual Studio 會在增益集專案的 ThisAddIn.vb (Visual Basic) 或 ThisAddIn.cs (C# 中) 程式碼檔中自動產生這個類別。 當 Microsoft Office 應用程式載入您的增益集時,Visual Studio Tools for Office Runtime 會自動為您執行個體化這個類別。
ThisAddIn 類別有兩個預設事件處理常式。 若要在載入增益集時執行程式碼,請將程式碼加入至 ThisAddIn_Startup 事件處理常式中。 若要在卸載增益集之前執行程式碼,則請將程式碼加入至 ThisAddIn_Shutdown 事件處理常式中。 如需這些事件處理常式的詳細資訊,請參閱 Office 專案中的事件。
注意事項 |
---|
在 Outlook 2010 中卸載增益集時,預設不一定會呼叫 ThisAddIn_Shutdown 事件處理常式。 如需詳細資訊,請參閱 Office 專案中的事件。 |
存取主應用程式的物件模型
若要存取主應用程式的物件模型,請使用 ThisAddIn 的 Application 欄位。 此欄位會傳回代表目前主應用程式執行個體的物件。 下表列出每個增益集專案之 Application 欄位的傳回值型別。
主應用程式 |
傳回實值型別 |
---|---|
Microsoft Office Excel |
|
Microsoft Office InfoPath |
|
Microsoft Office Outlook |
|
Microsoft Office PowerPoint |
|
Microsoft Office Project |
Microsoft.Office.Interop.MSProject.Application |
Microsoft Office Visio |
Microsoft.Office.Interop.Visio.Application |
Microsoft Office Word |
下列程式碼範例顯示如何使用 Application 欄位,在 Microsoft Office Excel 的增益集中建立新的活頁簿。 這個範例適合從 ThisAddIn 類別執行。
Dim newWorkbook As Excel.Workbook = Me.Application.Workbooks.Add()
Excel.Workbook newWorkbook = this.Application.Workbooks.Add(System.Type.Missing);
若要從 ThisAddIn 類別外執行同樣的動作,請使用 Globals 物件存取 ThisAddIn 類別。 如需 Globals 物件的詳細資訊,請參閱全域存取 Office 專案中的物件。
Dim newWorkbook As Excel.Workbook = Globals.ThisAddIn.Application.Workbooks.Add()
Excel.Workbook newWorkbook = Globals.ThisAddIn.Application.Workbooks.Add(System.Type.Missing);
如需特定 Microsoft Office 應用程式之物件模型的詳細資訊,請參閱下列主題:
用於其他工作的 ThisAddIn 成員
下表說明其他常見工作,並顯示可以用來執行這些工作的 ThisAddIn 類別成員。
工作 |
使用的成員 |
---|---|
載入增益集時,執行程式碼來初始化增益集。 |
將程式碼加入至 ThisAddIn_Startup 方法。 這是 Startup 事件的預設事件處理常式。 如需詳細資訊,請參閱 Office 專案中的事件。 |
在即將卸載增益集之前,清除增益集使用的資源。 |
將程式碼加入至 ThisAddIn_Shutdown 方法。 這是 Shutdown 事件的預設事件處理常式。 如需詳細資訊,請參閱 Office 專案中的事件。
注意事項
在 Outlook 2010 中卸載增益集時,預設不一定會呼叫 ThisAddIn_Startup 事件處理常式。如需詳細資訊,請參閱Office 專案中的事件。
|
顯示自訂工作窗格。 |
使用 CustomTaskPanes 欄位。 如需詳細資訊,請參閱自訂工作窗格概觀。 |
建立在任何開啟的 Word 文件或 Excel 活頁簿中都能辨識的智慧標籤。
注意事項
智慧標籤在 Excel 2010 和 Word 2010 中已被取代。如需詳細資訊,請參閱智慧標籤概觀。
|
在 Excel 或 Word 的增益集裡使用 VstoSmartTags 欄位。 如需詳細資訊,請參閱智慧標籤概觀。 |
將增益集中的物件公開給其他 Microsoft Office 方案。 |
覆寫 RequestComAddInAutomationService 方法。 如需詳細資訊,請參閱在應用程式層級增益集中呼叫其他 Office 方案的程式碼。 |
實作擴充性介面來自訂 Microsoft Office system 中的功能。 |
覆寫 RequestService 方法以傳回可實作介面之類別的執行個體。 如需詳細資訊,請參閱使用擴充性介面自訂 UI 功能。
注意事項
若要自訂功能區 UI,您也可以覆寫 CreateRibbonExtensibilityObject 方法。
|
了解 ThisAddIn 類別的設計
在目標為 .NET Framework 3.5 的專案中,ThisAddIn 類別是衍生自 Visual Studio Tools for Office Runtime 中的 Microsoft.Office.Tools.AddIn 類別。
在目標為 .NET Framework 4 的專案中 Microsoft.Office.Tools.AddIn 是介面,因此產生的 ThisAddIn 類別無法衍生任何實作。 不過,ThisAddIn 類別會衍生自 Microsoft.Office.Tools.AddInBase 類別。 這個基底類別會將其成員的所有呼叫重新導向至 Visual Studio Tools for Office Runtime 中 Microsoft.Office.Tools.AddIn 介面的內部實作。 如需目標為 .NET Framework 3.5 和 .NET Framework 4 的專案在 Visual Studio Tools for Office Runtime 中彼此之間差異的詳細資訊,請參閱 Visual Studio Tools for Office Runtime 概觀。
在 Outlook 的增益集專案中,ThisAddIn 類別是衍生自目標為 .NET Framework 3.5 之專案中的 Microsoft.Office.Tools.Outlook.OutlookAddIn 類別,以及目標為 .NET Framework 4 之專案中的 Microsoft.Office.Tools.Outlook.OutlookAddInBase。 這些基底類別提供了一些額外的功能來支援表單區域。 如需表單區域的詳細資訊,請參閱建立 Outlook 表單區域。
自訂 Microsoft Office 應用程式的使用者介面
您可以使用應用程式層級增益集,以程式設計的方式自訂 Microsoft Office 應用程式的 UI。 例如,您可以自訂功能區、顯示自訂工作窗格,或是在 Outlook 中建立自訂表單區域。 如需詳細資訊,請參閱 Office UI 自訂。
Visual Studio 提供一些設計工具和類別,可以用來建立自訂工作窗格、功能區自訂和 Outlook 表單區域。 這些設計工具和類別有助於簡化自訂這些功能的流程。 如需詳細資訊,請參閱自訂工作窗格概觀、功能區設計工具和建立 Outlook 表單區域。
如果想要使用類別和設計工具不支援的方式自訂上述其中一項功能,您也可以透過在增益集中實作「擴充性介面」(Extensibility Interface) 來自訂這些功能。 如需詳細資訊,請參閱 使用擴充性介面自訂 UI 功能。
您也可以藉由產生可擴充文件和活頁簿行為的主項目,修改 Word 文件和 Excel 活頁簿的 UI。 這樣您就可以將 Managed 控制項和智慧標籤加入至文件和工作表。 如需詳細資訊,請參閱在應用程式層級增益集的執行階段中擴充 Word 文件和 Excel 活頁簿。
在應用程式層級增益集中呼叫其他方案的程式碼
您可以將增益集中的物件公開至其他方案,包括其他 Office 方案。 如果您想要讓其他方案也能使用增益集提供的服務,這就很有用。 例如,如果您的 Microsoft Office Excel 增益集會計算 Web 服務的財務資料,則其他方案可以在執行階段呼叫這個 Excel 增益集來執行這些計算。
如需詳細資訊,請參閱在應用程式層級增益集中呼叫其他 Office 方案的程式碼。
請參閱
工作
HOW TO:在 Visual Studio 中建立 Office 專案
概念
在應用程式層級增益集的執行階段中擴充 Word 文件和 Excel 活頁簿