Excel 物件模型總覽

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

注意

有興趣開發跨多個平臺擴充 Office 體驗的解決方案嗎? 查看新的 Office 增益集模型。 相較于 VSTO 增益集和方案,Office 增益集的使用量較小,而且您可以使用幾乎任何 web 程式設計技術(例如 HTML5、JavaScript、CSS3 和 XML)來建立這些增益集。

這個物件模型密切遵循其使用者介面。 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 專案中的物件。 下列範例會呼叫的 PrintPreview 方法, Sheet1 不論程式碼是否放在其中一個 Sheet n 類別或 ThisWorkbook 類別中。

Globals.Sheet1.PrintPreview();
Globals.Sheet1.PrintPreview()

由於 Excel 文件包含高度結構化的資料,因此物件模型不僅層級分明,而且非常明確。 Excel 提供數百個您可能想要與之互動的物件,但是您可以將焦點放在可用物件的一小部分,以在物件模型上取得良好的起點。 這些物件包含下列四個項目:

  • 應用程式

  • 活頁簿

  • 工作表

  • 範圍

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

應用程式物件

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

注意

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

活頁簿物件

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 中的物件。 雖然 VBA 物件模型參考提供大部分屬性、方法和事件的程式碼範例,但如果您想要在以 Visual Studio 建立的 Excel 專案中使用這些程式碼範例,則必須將這個參考中的 VBA 程式碼轉譯為 Visual Basic 或 Visual C#。

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