常用對象概述
您可能知道程序設計的基本過(guò)程,了解VBA的基本數據類(lèi)型,會(huì )使用程序控制語(yǔ)句,運用過(guò)一些程序設計的基本方法,還編寫(xiě)過(guò)一些程序,但如果您想自動(dòng)化操作和控制Excel應用程序,則必須要與Excel的對象模型所提供的對象進(jìn)行交互,因為Excel應用程序本身就是通過(guò)這些對象組織在一起的。
Excel的對象模型提供了數百個(gè)對象,當您在使用Excel時(shí),有些對象可能會(huì )經(jīng)常用到,而另外一些對象則不常用。一般來(lái)說(shuō),對Excel應用程序本身的一些設置、對工作簿和工作表的操作、單元格和單元格區域的操作、以及圖表的操作等,是我們經(jīng)常要涉及到的。因此,在學(xué)習Excel的對象模型時(shí),我們可以先集中研究和探討與這些操作相關(guān)的對象、方法、屬性和事件,以及它們的使用,以此來(lái)逐步加深對Excel對象模型的認識和理解直至全面掌握。
這些對象包括:
Application 對象
Workbook 對象
Worksheet 對象
Range 對象
在您使用Excel時(shí),大部分的工作都是以這四類(lèi)對象及它們的成員為中心的。Application對象代表整個(gè)Excel應用程序,而每個(gè)Workbook對象則包含一個(gè)Worksheet對象的集合,Range對象則代表單個(gè)單元格或單元格區域。
在前面的一系列文章中,我們詳細講解了集合和對象的概念。在本文中,將簡(jiǎn)略地描述這些對象及它們的部分方法和屬性,使您對它們建立一個(gè)初步的印象。后面的一系列文章將對它們進(jìn)行詳細的解析,幫助您應用它們。
Application對象
Excel Application對象代表Excel應用程序本身,該對象中的一些成員關(guān)系到您的應用程序行為的正確與否。下面分別予以說(shuō)明。
Application對象中有一些屬性控制著(zhù)Excel的狀態(tài)和外觀(guān)。例如,我們經(jīng)常在程序中看到或用到的ScreenUpdating屬性,它的默認值為T(mén)rue,這使得Excel在調用每個(gè)方法后都會(huì )更新屏幕,極大地影響了程序的運行速度,因此,您可以在代碼運行前將其設置為False,但是一定要記住在程序運行結束前將其設置為T(mén)rue,以恢復它的默認狀態(tài),Excel不會(huì )為您自動(dòng)恢復它。此外,Cursor屬性控制著(zhù)鼠標指針的外觀(guān);EditDirectlyInCell屬性決定您是否可以直接在工作表中編輯單元格,否則您將只能在工作表的公式欄中編輯單元格;如果您把FixedDecimal屬性設置為T(mén)rue,則您可以利用FixedDecimalPlaces屬性來(lái)確定數值數據的小數位數;設置Interactive屬性可以決定您是否可以使用鼠標和鍵盤(pán),若您將Interactive屬性的值設置為False,則禁用鼠標和鍵盤(pán),但在程序處理完后您一定要將其值重新設置為T(mén)rue;若要決定當您按下Enter鍵后單元格的移動(dòng)方向,您可以將MoveAfterReturnDirection屬性的值設為xlDown(向下移動(dòng))、xlToLeft(向左移動(dòng))、xlToRight(向右移動(dòng))、xlUp(向上移動(dòng))。
有一些Application對象的屬性可以返回對象。例如,ActiveCell屬性返回活動(dòng)窗口中當前活動(dòng)單元格的引用;Sheets屬性返回活動(dòng)工作簿中Sheet對象的集合;Workbooks屬性則返回當前所有打開(kāi)的工作簿的Workbook對象的集合。
Application對象也提供了許多允許您執行操作的方法。例如,Calculate方法將允許您強制重新計算所有打開(kāi)的工作簿、或者是特定工作簿、或者是特定的范圍。
用Application對象所提供的屬性和方法,您還可以處理Excel文件。例如,DefaultFilePath屬性用來(lái)獲取或設置用于加載和保存Excel文件的路徑;FileDialog屬性返回FileDialog對象,允許您選擇一個(gè)文件并將其打開(kāi)、或者選擇一個(gè)文件的位置并保存當前工作簿、或者選擇一個(gè)文件夾、或者選擇一個(gè)文件名。此外,Application對象還提供了GetOpenFileName和GetSaveAsFileName方法允許您選擇一個(gè)要打開(kāi)的文件的文件名。
Application對象還有一些專(zhuān)有的成員。例如,WorksheetFunction屬性返回的對象提供了Excel工作表函數,這些函數是VBA函數中所沒(méi)有的;Windows屬性允許您可以打開(kāi)、關(guān)閉和排列Excel對象窗口。
Application對象除了提供屬性和方法外,它還擁有大量的事件。例如,當任何一個(gè)表被激活時(shí),會(huì )產(chǎn)生SheetActivate事件;當任何工作表中的單元格發(fā)生變化時(shí),SheetChange事件會(huì )發(fā)生;當工作表上的選區改變時(shí),SheetSelectionChange事件會(huì )發(fā)生;若您停用任何工作表,則SheetDeactivate事件會(huì )發(fā)生。
同時(shí),Application對象也提供了各種處理Window對象的行為的事件。例如,當任何窗口被激活時(shí),WindowActivate事件都會(huì )發(fā)生;當任何窗口被停用時(shí),WindowDeactivate事件會(huì )發(fā)生。此外,Application對象還提供了當與任何Workbook對象交互時(shí)會(huì )發(fā)生的事件,例如,NewWorkbook事件發(fā)生在創(chuàng )建一個(gè)新的工作簿時(shí);當任何工作簿被停用時(shí),WorkbookDeactivate事件會(huì )發(fā)生。
Workbook對象
Workbook對象代表了Excel中的一個(gè)工作簿,而在上面所介紹的Application對象中的許多屬性也適用于特定的工作簿。
Workbook對象提供了大量的屬性,其中一些是我們經(jīng)常要用到的。例如,Name屬性返回工作簿的名稱(chēng),FullName屬性返回工作簿完整的路徑名稱(chēng),包括工作簿文件名,而Path屬性則只返回工作簿路徑部分。又如,Workbook對象有一個(gè)Sheets屬性,返回一個(gè)Sheet對象,該對象包含Sheet對象集合,其中每個(gè)對象可以是Worksheet對象,也可以是Chart對象。
Workbook對象也提供了大量的方法,其中您最有可能使用的方法有:Activate方法激活一個(gè)工作簿,并且選擇工作簿中的第一個(gè)工作表;Close方法關(guān)閉一個(gè)指定的工作簿,可以選擇是否保存對工作簿的修改;Protect方法和UnProtect方法允許您保護或取消保護工作簿;Save方法用于保存工作簿;SaveAs方法保存工作簿并允許您指定名稱(chēng)、文件格式、路徑等;SaveCopyAs方法將工作簿的一個(gè)副本保存到文件中。
Worksheet對象
Worksheet對象代表了工作簿中的工作表,同樣,它也提供了大量的成員,使我們能對工作表進(jìn)行操作。它的大多數屬性、方法和事件與Application對象或Workbook對象所提供的成員的相同或相似。
Range對象
Range對象代表工作表中的單元格或單元格區域。您在Excel中最常使用的就是Range對象,直接面對或操作的也是它。例如,您對Excel中的單元格或單元格區域進(jìn)行操作,都需要將其設置為一個(gè)Range對象,然后使用該Range對象的方法和屬性,以完成對單元格或單元格區域的操作?;旧?,對Excel的大部分操作都會(huì )涉及到Range對象,可見(jiàn)Range對象是很重要的。
Range對象用途廣泛,表達方式也靈活多樣。譬如,您可以對所選擇的區域進(jìn)行管理,可以在代碼中引用Range對象所表示的區域或單元格,您甚至可以將各種技術(shù)組合起來(lái),完成Excel應用程序現有功能所不可能完成的工作。
常用對象的集合
正如前面的文章所說(shuō),集合是指包含一組相似的或相關(guān)的對象的對象。有了集合,我們就可以將一組相似或相關(guān)的對象當作單一的對象來(lái)引用,并且可以很方便地操作集合中的某一個(gè)對象。通常,集合的名字都是單詞的復數形式。例如,Workbooks集合表示當前打開(kāi)的所有Workbook對象的集合,Worksheets集合表示指定工作簿或當前工作簿中所有的Worksheet對象,Sheets集合不僅包含Workbook對象,也包含Chart對象。
同時(shí),集合也是某一對象的屬性,請您細細體味這句話(huà)。
結語(yǔ)
好了,這篇文章也該結尾了。您看看,即使是最常用的對象,也涉及到如此繁雜的內容,但這些是我們必須要掌握和精通的,至少作為一名ExcelVBA編程人員應該如此。
我們使用對象,是通過(guò)設置對象的屬性、或者獲取對象的屬性、或者使用對象的方法、或者應用對象的事件,來(lái)對對象進(jìn)行操作,從而操作Excel的。在接下來(lái)的文章中,我將通過(guò)示例對這些對象進(jìn)行盡可能詳細全面的介紹和總結歸納。
原文鏈接
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。