Excel物件模型概觀
適用于:Visual Studio Visual Studio for Mac
Visual Studio Code
若要開發使用 Microsoft Office Excel 的方案,您可以與 Excel 物件模型提供的物件進行互動。 本主題將介紹最重要的物件:
-
適用于:本主題中的資訊適用于Excel的檔層級專案和 VSTO 增益集專案。 如需詳細資訊,請參閱Office應用程式和專案類型所提供的功能。
注意
有興趣開發可跨多個平臺擴充Office體驗的解決方案嗎? 查看新的Office增益集模型。 Office增益集的使用量比 VSTO 增益集和解決方案小,而且您可以使用幾乎任何 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.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 專案中物件的全域存取。 下列範例會呼叫 PrintPreview 方法 Sheet1
,不論程式碼是放在其中 Sheet
一個n類別還是 ThisWorkbook
類別中。
由於 Excel 文件包含高度結構化的資料,因此物件模型不僅層級分明,而且非常明確。 Excel提供數百個您可能想要互動的物件,但您可以藉由將焦點放在一小部分可用的物件,來開始物件模型。 這些物件包含下列四個項目:
Application
活頁簿
工作表
範圍
使用 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 的許多屬性、方法和事件都與 Application 或 Workbook 物件所提供的成員完全相同或類似。
Excel 提供 Sheets 集合,做為 Workbook 物件的屬性。 Sheets 集合的每個成員都是 Worksheet 或 Chart 物件。
Visual Studio 中的 Office 程式開發工具會藉由提供 Worksheet 類型,來擴充 Worksheet 物件。 這個類型可讓您存取 Worksheet 物件的所有功能,以及新功能 (例如可以裝載 Managed 控制項和處理新事件)。 如需詳細資訊,請參閱 工作表主專案。
Range 物件
Range 物件是您在 Excel 應用程式中最常使用的物件。 若要操作 Excel 中的任何區域,您必須先將其表示為 Range 物件,然後再搭配該範圍的方法和屬性使用。 Range 物件代表一個儲存格、一個資料列、一個資料行、含有一或多個不一定連續之儲存格區塊的儲存格選取範圍,或甚至是多個工作表上的儲存格群組。
Visual Studio 會藉由提供 NamedRange 和 XmlMappedRange 類型,來擴充 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 物件會對應至 Worksheet Excel PIA 中的物件。 雖然 VBA 物件模型參考提供大部分屬性、方法和事件的程式碼範例,但如果您想要在以 Visual Studio 建立的 Excel 專案中使用這些程式碼範例,則必須將這個參考中的 VBA 程式碼轉譯為 Visual Basic 或 Visual C#。
相關主題
標題 | 描述 |
---|---|
Excel解決方案 | 說明如何建立 Microsoft Office Excel 的文件層級自訂和 VSTO 增益集。 |
使用範圍 | 提供示範如何使用範圍執行常見工作的範例。 |
使用工作表 | 提供示範如何使用工作表執行常見工作的範例。 |
使用活頁簿 | 提供示範如何使用活頁簿執行常見工作的範例。 |