應用程式層級增益集程式設計

當您透過建立應用程式層級增益集擴充 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.Interop.Excel.Application

Microsoft Office InfoPath

Microsoft.Office.Interop.InfoPath.Application

Microsoft Office Outlook

Microsoft.Office.Interop.Outlook.Application

Microsoft Office PowerPoint

Microsoft.Office.Interop.PowerPoint.Application

Microsoft Office Project

Microsoft.Office.Interop.MSProject.Application

Microsoft Office Visio

Microsoft.Office.Interop.Visio.Application

Microsoft Office Word

Microsoft.Office.Interop.Word.Application

下列程式碼範例顯示如何使用 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 方案的程式碼

請參閱

工作

逐步解說:在應用程式層級增益集中呼叫 VBA 的程式碼

HOW TO:在 Visual Studio 中建立 Office 專案

概念

在應用程式層級增益集的執行階段中擴充 Word 文件和 Excel 活頁簿

在應用程式層級增益集中呼叫其他 Office 方案的程式碼

使用擴充性介面自訂 UI 功能

應用程式層級增益集的架構

撰寫 Office 方案中的程式碼

其他資源

開發 Office 方案