共用方式為


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 專案中物件的全域存取。 下列範例會呼叫 Sheet1PrintPreview 方法,不論程式碼是放在其中一個 Sheet 類別或 ThisWorkbook 類別中。

Globals.Sheet1.PrintPreview();

由於 Excel 文件中的資料是高度結構化的,因此物件模型是階層式且簡單的。 Excel 提供數百個您可能想要與之互動的物件,但您可以專注於可用物件的一小部分,以取得物件模型的良好開端。 這些物件包括以下四個:

  • Application

  • 活頁簿

  • 工作表

  • 範圍

    使用 Excel 完成的大部分工作都圍繞著這四個物件及其成員。

應用程式物件

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

備註

您不應該將 EnableEvents Excel 中物件的 Application 屬性設定為 false。 將此屬性設定為 false 可防止 Excel 引發任何事件,包括主機控制項的事件。

活頁簿物件

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

Visual Studio 中的 Office 開發工具會藉由提供Workbook類型來擴充Workbook物件。 此類型可讓您存取物件的所有 Workbook 特徵。 如需詳細資訊,請參閱 活頁簿主機項目

工作表物件

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

Excel 提供集合作為 Sheets 物件的 Workbook 屬性。 Sheets 集合中的每個成員都是 Worksheet 物件或 Chart 物件。

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

範圍物件

Range物件是您在 Excel 應用程式中最常使用的物件。 在操作 Excel 中的任何區域之前,您必須將其表示為 Range 物件,並使用該範圍的方法和屬性。 Range物件代表一個儲存格、一個列、一個欄、包含一或多個儲存格區塊的儲存格選取範圍 (這些儲存格可能連續也可能不連續),甚至是多張工作表上的一組儲存格。

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

使用 Excel 物件模型文件

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

主要互通元件參考

Excel PIA 參考檔描述 Excel 主要互通元件中的類型。 此檔可從下列位置取得: Excel 2010 主要互通元件參考

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

VBA 物件模型參考

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

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

Title Description
Excel 解決方案 說明如何建立 Microsoft Office Excel 的文件層級自訂和 VSTO 增益集。
使用範圍 提供範例,示範如何使用範圍執行一般工作。
使用工作表 提供範例,示範如何使用工作表執行一般工作。
使用活頁簿 提供範例,示範如何使用活頁簿執行一般工作。