Excel 物件模型概觀

若要開發使用 Microsoft Office Excel 的方案,您可以與 Excel 物件模型提供的物件進行互動。 本主題將介紹最重要的物件:

注意

有興趣開發跨多個平台擴展 Office 體驗的方案嗎? 查看新的 Office 增益集模型。 相較於 VSTO 增益集和方案,Office 增益集的使用量非常小,而且可以使用 HTML5、JavaScript、CSS3 和 XML 等幾乎任何 Web 程式設計技術來建置。

這個物件模型密切遵循其使用者介面。 Application 物件代表整個應用程式,而每個 Workbook 物件都包含 Worksheet 物件的集合。 其中,代表儲存格的主要抽象物件是 Range 物件,它可以讓您使用個別儲存格或儲存格群組。

除了 Excel 物件模型之外,Visual Studio 中的 Office 專案還提供「主項目」「主控制項」,以擴充 Excel 物件模型中的部分物件。 主項目和主控制項的行為與它們所擴充的 Excel 物件相同,但還具有其他功能 (例如資料繫結功能和額外事件)。 如需詳細資訊,請參閱使用擴充物件自動化 Excel主項目和主控制項概觀

本主題提供 Excel 物件模型的簡短概觀。 如需可深入了解整個 Excel 物件模型的相關資源,請參閱 使用 Excel 物件模型文件

存取 Excel 專案中的物件

當您為 Excel 建立新的 VSTO 增益集專案時,Visual Studio 會自動建立 ThisAddIn.vbThisAddIn.cs 程式碼檔案。 您可以使用 Me.Applicationthis.Application,來存取 Application 物件。

當您建立 Excel 的新文件層級專案時,可以選擇建立新的 Excel 活頁簿或 Excel 範本專案。 Visual Studio 會在新的 Excel 專案中,自動為活頁簿和範本專案建立下列程式碼檔。

Visual Basic C#
ThisWorkbook.vb ThisWorkbook.cs
Sheet1.vb Sheet1.cs
Sheet2.vb Sheet2.cs
Sheet3.vb Sheet3.cs

您可以在專案中使用 Globals 類別,從個別的類別之外存取 ThisWorkbookSheet1Sheet2Sheet3。 如需詳細資訊,請參閱全域存取 Office 專案中的物件。 下列範例會呼叫 Sheet1PrintPreview 的方法,不論程式碼是放置在 Sheetn 類別或 ThisWorkbook 類別的任一種。

Globals.Sheet1.PrintPreview();

由於 Excel 文件包含高度結構化的資料,因此物件模型不僅層級分明,而且非常明確。 Excel 提供數百個您可能想要與其互動的物件,但您可以透過專注於可用物件的一小部分,開始與物件模型展開良好的互動。 這些物件包含下列四個項目:

  • 應用程式

  • 活頁簿

  • 工作表

  • 範圍

    使用 Excel 執行的大部分工作都是以這四個物件及其成員為中心。

應用程式物件

Excel Application 物件代表 Excel 應用程式本身。 Application 物件會公開有關執行中應用程式、套用至該執行個體的選項,以及目前在執行個體中開啟之使用者物件的大量資訊。

注意

請勿在 Excel 中,將 EnableEvents 物件的 Application 屬性設定為 false(Native Office Object)。 將這個屬性設定為 false,會導致 Excel 無法引發任何事件,包括主控制項的事件在內。

Workbook 物件

Workbook 物件代表 Excel 應用程式中的單一活頁簿。

Visual Studio 中的 Office 程式開發工具會藉由提供 Workbook 類型,來擴充 Workbook 物件。 這個類型可讓您存取 Workbook 物件的所有功能。 如需詳細資訊,請參閱工作表主項目

Worksheet 物件

Worksheet 物件是 Worksheets 集合的成員。 Worksheet 的許多屬性、方法和事件都與 ApplicationWorkbook 物件所提供的成員完全相同或類似。

Excel 提供 Sheets 集合,做為 Workbook 物件的屬性。 Sheets 集合的每個成員都是 WorksheetChart 物件。

Visual Studio 中的 Office 程式開發工具會藉由提供 Worksheet 類型,來擴充 Worksheet 物件。 這個類型可讓您存取 Worksheet 物件的所有功能,以及新功能 (例如可以裝載 Managed 控制項和處理新事件)。 如需詳細資訊,請參閱工作表主項目

Range 物件

Range 物件是您在 Excel 應用程式中最常使用的物件。 若要操作 Excel 中的任何區域,您必須先將其表示為 Range 物件,然後再搭配該範圍的方法和屬性使用。 Range 物件代表一個儲存格、一個資料列、一個資料行、含有一或多個不一定連續之儲存格區塊的儲存格選取範圍,或甚至是多個工作表上的儲存格群組。

Visual Studio 會藉由提供 NamedRangeXmlMappedRange 類型,來擴充 Range 物件。 這些類型具有與 Range 物件相同的大部分功能,以及新功能 (例如資料繫結功能和新事件)。 如需詳細資訊,請參閱 NamedRange 控制項XmlMappedRange 控制項

使用 Excel 物件模型文件

如需 Excel 物件模型的完整資訊,您可以參閱 Excel 主要 Interop 組件 (PIA) 參考和 VBA 物件模型參考。

主要 Interop 組件參考

Excel PIA 參考文件說明 Excel 主要 Interop 組件中的類型。 您可以從下列位置取得這份文件:Excel 2010 主要 Interop 組件參考

如需 Excel PIA 設計的詳細資訊,例如 PIA 中類別和介面的差異以及 PIA 中實作事件的方式,請參閱 Office 主要 Interop 組件中的類別和介面概觀

VBA 物件模型參考

VBA 物件模型參考記載公開給 Visual Basic for Applications (VBA) 程式碼時的 Excel 物件模型。 如需詳細資訊,請參閱 Excel 2010 物件模型參考

VBA 物件模型參考中的所有物件和成員都會對應至 Excel PIA 中的類型和成員。 例如,VBA 物件模型參考中的 Worksheet 物件會對應至 Excel PIA 中的 Worksheet 物件。 雖然 VBA 物件模型參考提供大部分屬性、方法和事件的程式碼範例,但如果您想要在以 Visual Studio 建立的 Excel 專案中使用這些程式碼範例,則必須將這個參考中的 VBA 程式碼轉譯為 Visual Basic 或 Visual C#。

標題 描述
Excel 方案 說明如何建立 Microsoft Office Excel 的文件層級自訂和 VSTO 增益集。
使用範圍 提供示範如何使用範圍執行常見工作的範例。
使用工作表 提供示範如何使用工作表執行常見工作的範例。
使用活頁簿 提供示範如何使用活頁簿執行常見工作的範例。