Excel 物件模型概觀
若要開發使用 Microsoft Office Excel 的方案,您可以與 Excel 物件模型提供的物件進行互動。此主題將介紹最重要的物件:
**適用於:**本主題中的資訊適用於 Excel 2013 和 Excel 2010 的文件層級專案和應用程式層級專案。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
物件模型與使用者介面有密切的關聯。Application 物件代表整個應用程式,而每個 Workbook 物件都包含 Worksheet 物件的集合。在這其中,代表儲存格的主要抽象物件是 Range 物件,它可以讓您使用個別儲存格或儲存格群組。
除了 Excel 物件模型之外,Visual Studio 中的 Office 專案還提供「主項目」(Host Item) 和「主控制項」(Host Control),以擴充 Excel 物件模型中的部分物件。主項目和主控制項的行為與它們所擴充的 Excel 物件相同,但是它們還具有其他功能 (例如資料繫結功能和額外事件)。如需詳細資訊,請參閱使用擴充物件自動化 Excel與主項目和主控制項概觀。
本主題提供 Excel 物件模型的簡短概觀。如需可以了解整個 Excel 物件模型的資源,請參閱使用 Excel 物件模型文件。
如需觀看相關示範影片,請參閱如何:在 Excel 2007 增益集中使用事件處理常式?(英文) 和 如何:使用圖案在 Excel 中建立泡泡圖?(英文)。
在 Excel 專案中存取物件
當您建立新的 Excel 應用程式層級專案時,Visual Studio 會自動建立 ThisAddIn.vb 或 ThisAddIn.cs 程式碼檔。您可以使用 Me.Application 或 this.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 類別,從個別的類別之外存取 ThisWorkbook、Sheet1、Sheet2 或 Sheet3。如需詳細資訊,請參閱全域存取 Office 專案中的物件。不論程式碼是放在其中一個 Sheetn 類別或 ThisWorkbook 類別之中,下列範例都會呼叫 Sheet1 的 PrintPreview 方法。
Globals.Sheet1.PrintPreview()
Globals.Sheet1.PrintPreview();
由於 Excel 文件包含高度結構化的資料,因此物件模型不僅層級分明,而且非常明確。Excel 提供了數百個可以與您互動的物件,不過您不妨先從一個非常小的可用物件子集開始,逐步學習這個物件模型。這些物件包含下列四個項目:
應用程式
Workbook
Worksheet
Range
使用 Excel 執行的大部分工作都是以這四個物件及其成員為中心。
Application 物件
Excel Application 物件代表 Excel 應用程式本身。Application 物件會公開關於執行中的應用程式、套用至該執行個體的選項,以及目前在執行個體中開啟之使用者物件的大量資訊。
注意事項 |
---|
請勿在 Excel 中將 Application 物件的 EnableEvents 屬性設定為 false。將此屬性設定為 false,會導致 Excel 無法引發任何事件,包括主控制項的事件在內。 |
Workbook 物件
Microsoft.Office.Interop.Excel.Workbook 物件代表 Excel 應用程式中的單一活頁簿。
Visual Studio 中的 Office 開發人員工具會提供 Microsoft.Office.Tools.Excel.Workbook 型別,藉以擴充 Microsoft.Office.Interop.Excel.Workbook 物件。這個類型可讓您對 Microsoft.Office.Interop.Excel.Workbook 物件的所有功能的存取。如需詳細資訊,請參閱Workbook 主項目。
Worksheet 物件
Microsoft.Office.Interop.Excel.Worksheet 物件是 Worksheets 集合的成員之一。Microsoft.Office.Interop.Excel.Worksheet 的許多屬性、方法和事件都與 Application 和 Microsoft.Office.Interop.Excel.Workbook 物件所提供的成員完全相同或類似。
Excel 提供 Sheets 集合,做為 Microsoft.Office.Interop.Excel.Workbook 物件的屬性。Sheets 集合的每個成員都是 Microsoft.Office.Interop.Excel.Worksheet 或 Microsoft.Office.Interop.Excel.Chart 物件。
Visual Studio 中的 Office 開發工具會藉由提供 Microsoft.Office.Tools.Excel.Worksheet 型別的方式擴充 Microsoft.Office.Interop.Excel.Worksheet 物件。這個型別可供您存取 Microsoft.Office.Interop.Excel.Worksheet 物件的所有功能以及新功能 (例如可以裝載 Managed 控制項和處理新事件)。如需詳細資訊,請參閱Worksheet 主項目。
Range 物件
Microsoft.Office.Interop.Excel.Range 物件將是您在 Excel 應用程式中最常使用的物件。如果要操作 Excel 之中的任何區域,必須先將它表示為 Range 物件,然後再使用該範圍的方法和屬性。Range 物件代表儲存格、資料列、資料行、儲存格包含一或多個區塊,不一定是連續的儲存格的選取範圍,或儲存格群組在多個工作表的。
Visual Studio 會提供 Microsoft.Office.Tools.Excel.NamedRange 和 Microsoft.Office.Tools.Excel.XmlMappedRange 型別,藉以擴充 Microsoft.Office.Interop.Excel.Range 物件。這些型別大部分的功能都與 Microsoft.Office.Interop.Excel.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 物件模型參考記載 Excel 物件模型公開給 Visual Basic for Application (VBA) 程式碼時的資訊。如需詳細資訊,請參閱 選取 Excel 物件模型參考。
VBA 物件模型參考中的所有物件和成員都會對應至 Excel PIA 中的型別和成員。例如,VBA 物件模型參考中的 Worksheet 物件會對應至 Excel PIA 中的 Microsoft.Office.Interop.Excel.Worksheet 物件。雖然 VBA 物件模型參考提供大部分屬性、方法和事件的程式碼範例,但如果您想要在以 Visual Studio 建立的 Excel 專案中使用這些程式碼範例,您必須將此參考中的 VBA 程式碼改成 Visual Basic 或 Visual C# 程式碼。
相關主題
標題 |
描述 |
---|---|
說明如何建立 Microsoft Office Excel 的文件層級自訂和應用程式層級增益集。 |
|
所提供的範例示範如何使用範圍執行常見工作。 |
|
所提供的範例示範如何使用工作表執行常見工作。 |
|
所提供的範例示範如何使用活頁簿執行常見工作。 |