ExcelVBA及其開(kāi)發(fā)環(huán)境課件_第1頁(yè)
ExcelVBA及其開(kāi)發(fā)環(huán)境課件_第2頁(yè)
ExcelVBA及其開(kāi)發(fā)環(huán)境課件_第3頁(yè)
ExcelVBA及其開(kāi)發(fā)環(huán)境課件_第4頁(yè)
ExcelVBA及其開(kāi)發(fā)環(huán)境課件_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Excel VBA及其開(kāi)發(fā)環(huán)境在學(xué)習(xí)了Excel的一些高級(jí)操作以及有關(guān)宏的相關(guān)知識(shí)之后,就可以正式進(jìn)入到Excel VBA(簡(jiǎn)稱(chēng)VBA)的學(xué)習(xí)階段了。本章首先向讀者講解有關(guān)VBA的一些基礎(chǔ)知識(shí),包括VBA的基本概念、VBA的歷史和VBE開(kāi)發(fā)環(huán)境等內(nèi)容。VBA概述在前面學(xué)習(xí)的內(nèi)容當(dāng)中,讀者對(duì)Excel VBA(在本書(shū)中,以后將簡(jiǎn)稱(chēng)VBA)應(yīng)該已經(jīng)有了一些簡(jiǎn)單的了解。本節(jié)中將系統(tǒng)地向讀者講解有關(guān)VBA的一些基礎(chǔ)知識(shí),使得讀者對(duì)VBA有個(gè)比較深刻的理解,為以后學(xué)習(xí)VBA的各種知識(shí)打下良好的基礎(chǔ)。VBA的概念VBA是Visual Basic For Application的縮寫(xiě),在Office系列辦公

2、軟件當(dāng)中,VBA又分為Excel VBA語(yǔ)言、Word VBA語(yǔ)言以及PowerPoint VBA語(yǔ)言等。VBA是用Visual Basic(簡(jiǎn)稱(chēng)VB)來(lái)開(kāi)發(fā)應(yīng)用程序的一種語(yǔ)言,而Excel VBA則偏重于面向Excel對(duì)象(如工作簿、工作表以及單元格等)進(jìn)行編程,也就是說(shuō)Excel VBA是通過(guò)用代碼編寫(xiě)的命令和使用過(guò)程來(lái)操作工作表或單元格等對(duì)象,進(jìn)而在Excel中完成自動(dòng)化操作的相關(guān)設(shè)置??梢詫xcel VBA看作是VB的一個(gè)分支,VBA繼承了VB很大一部分編程方法。VB中的語(yǔ)法結(jié)構(gòu)、變量的聲明以及函數(shù)的使用等內(nèi)容,在VBA中同樣可以正常地進(jìn)行使用。在20世紀(jì)90年代早期,關(guān)于應(yīng)用程序自

3、動(dòng)化的問(wèn)題仍是充滿(mǎn)挑戰(zhàn)性的領(lǐng)域。當(dāng)時(shí),對(duì)不同應(yīng)用程序的自動(dòng)化,人們都不得不學(xué)習(xí)不同的自動(dòng)化語(yǔ)言。例如,自動(dòng)化Excel需要調(diào)用Excel的宏語(yǔ)言,而自動(dòng)Word又必須使用Word Basic等。于是,微軟決定開(kāi)發(fā)出來(lái)的應(yīng)用程序共享一種通用的自動(dòng)化語(yǔ)言VBA。這樣,對(duì)于微軟所有的應(yīng)用程序,都可以使用VBA來(lái)操作其自動(dòng)化。VBA的歷史早在1985年,Excel就被用在蘋(píng)果的Macintosh電腦上,在1987年被移植到PC機(jī)當(dāng)中。在PC機(jī)時(shí)代之前,曾經(jīng)有過(guò)很多成功的工作表軟件,如VisiCalc、Quattro Pro和Multiplan等。VisiCalc是最早的工作表軟件產(chǎn)品,但是很早就被淘汰

4、了。Multiplan是微軟的產(chǎn)品,也是Excel的前身,由于其功能強(qiáng)大并且使用方便,很快就占領(lǐng)了整個(gè)市場(chǎng)。最初的Excel宏語(yǔ)言要求代碼保存在一個(gè)后綴為.xlm的單獨(dú)文件中。因此后來(lái)也被稱(chēng)為XLM宏或者Excel4宏。XLM宏語(yǔ)言包括函數(shù)調(diào)用以及上百個(gè)內(nèi)建函數(shù),使用戶(hù)可以通過(guò)編程控制Excel的各種操作。但是XLM宏語(yǔ)言的在使用上相當(dāng)?shù)膹?fù)雜,也正因?yàn)槿绱宋艘恍┚邆浜軓?qiáng)編程能力的人創(chuàng)建復(fù)雜的程序,但是遠(yuǎn)離了廣大的一般用戶(hù)。學(xué)習(xí)XLM宏語(yǔ)言需要很長(zhǎng)的一個(gè)過(guò)程。另一方面,最初的PC版Excel運(yùn)行于Windows平臺(tái),而對(duì)于當(dāng)時(shí)的硬件水平來(lái)說(shuō),能夠運(yùn)行Window系統(tǒng)的PC機(jī)一般都比較的昂貴,

5、一般家庭用戶(hù)無(wú)法負(fù)擔(dān),這也是阻礙VBA發(fā)展的一大原因。基于上述各種原因,微軟大膽的決定要使用VBA整合所有Office產(chǎn)品的宏語(yǔ)言。1993年發(fā)布的Excel5是第一個(gè)包含VBA語(yǔ)言的產(chǎn)品。隨后,其他的Office系列產(chǎn)品,包括Word、Access、PowerPoint、FrontPage、Visio、Project和Outlook全部都采用了VBA作為宏語(yǔ)言。VBA的工作原理VBA是Office對(duì)象和VBA程序代碼之間相互關(guān)聯(lián)和交流的橋梁。VBA代碼是由VB語(yǔ)言來(lái)編寫(xiě)的,其變量定義及語(yǔ)法結(jié)果與VB語(yǔ)言完成相同,當(dāng)使用VBA代碼來(lái)調(diào)用Office對(duì)象時(shí),需要有VBA程序接口,而這種調(diào)用是通過(guò)

6、對(duì)象模型自動(dòng)化實(shí)現(xiàn)的。VBA的主要任務(wù)是通過(guò)編寫(xiě)程序代碼來(lái)操作Office對(duì)象,從而完成特定的任務(wù)操作。當(dāng)使用VBA代碼調(diào)用Excel的某個(gè)屬性時(shí),如果在VBE環(huán)境中解釋執(zhí)行VBA代碼時(shí),發(fā)現(xiàn)有對(duì)Excel這個(gè)屬性的調(diào)用,則就自動(dòng)通過(guò)對(duì)象模型調(diào)用該屬性,然后通過(guò)方法操作該屬性,這樣就實(shí)現(xiàn)了VBA代碼和Office對(duì)象之間的通信連接。VBA的工作原理如圖3.1所示。VBA與VB前面講過(guò),VBA的程序代碼是由VB語(yǔ)言來(lái)編寫(xiě)的,其語(yǔ)法結(jié)構(gòu)與變量定義方式與VB完全相同。但是,VBA與VB之間還是有一定的區(qū)別,本節(jié)中將主要講解VBA和VB之間的一些區(qū)別,然后講解安裝VBA環(huán)境和幫助文檔方面的相關(guān)知識(shí)。V

7、BA與VB之間的區(qū)別VBA與VB之間是緊密相關(guān)的,VBA是VB的一個(gè)分支,也可以將VBA理解為“寄生在Office產(chǎn)品中的Visual Basic”。然而,很多用戶(hù)總是混淆VB和VBA的概念。實(shí)際上,VBA和VB之間存在著一定的區(qū)別,具體的內(nèi)容包括以下幾個(gè)方面。(1)設(shè)計(jì)目的不一樣。VB用于設(shè)計(jì)創(chuàng)建標(biāo)準(zhǔn)的應(yīng)用程序,而VBA則是使已有的應(yīng)用程序(Excel等)自動(dòng)化。(2)開(kāi)發(fā)環(huán)境不同。VB具有自己的開(kāi)發(fā)環(huán)境,而VBA必須寄生于已有的應(yīng)用程序(如Excel等)當(dāng)中。(3)編譯執(zhí)行文件不同。VB執(zhí)行文件的擴(kuò)展名為.exe。VB由于內(nèi)含編譯器,因此可制作可執(zhí)行文件。VBA則由于內(nèi)含于office系列

8、各軟件內(nèi),且不提供編譯器,故VBA程序只可依附于各軟件而執(zhí)行,無(wú)法制作可執(zhí)行文件。(4)運(yùn)行方式不同。要運(yùn)行VB開(kāi)發(fā)的應(yīng)用程序,用戶(hù)不必安裝VB,因?yàn)閂B開(kāi)發(fā)出的應(yīng)用程序是可執(zhí)行文件,而VBA開(kāi)發(fā)的程序必須依賴(lài)于它的“父”應(yīng)用程序。(5)可用的資源不同。對(duì)于程序內(nèi)可引用的資源,包括對(duì)象、函數(shù)等。VB在此方面的資源要比VBA多很多。從專(zhuān)業(yè)的角度來(lái)看,VB是較專(zhuān)業(yè)的程序設(shè)計(jì)語(yǔ)言,而VBA的目的則是強(qiáng)化Office應(yīng)用系統(tǒng),故在可用資源方面,VBA不及VB。安裝VBE開(kāi)發(fā)環(huán)境和幫助文檔在正式應(yīng)用VBA編寫(xiě)程序之前,應(yīng)該了解一下VBE開(kāi)發(fā)環(huán)境以及如何安裝VBE開(kāi)發(fā)環(huán)境。有關(guān)VBE開(kāi)發(fā)環(huán)境將在下一章中進(jìn)

9、行詳細(xì)的介紹,本節(jié)中將主要講解如何安裝VBE開(kāi)發(fā)環(huán)境及其幫助文檔。如果用戶(hù)在安裝Office時(shí)使用的是默認(rèn)的安裝方式,則Excel的VBE開(kāi)發(fā)環(huán)境就已經(jīng)被安裝好了。否則,可按照下面的步驟進(jìn)行安裝。VBE開(kāi)發(fā)環(huán)境介紹在了解了有關(guān)VBA的一些基礎(chǔ)知識(shí)之后,下面介紹一下VBE開(kāi)發(fā)環(huán)境,目的是使讀者在編寫(xiě)VBA程序之前首先熟悉Excel VBA的編程環(huán)境,以便在以后的學(xué)習(xí)過(guò)程中能夠熟練地編寫(xiě)VBA程序。用來(lái)編寫(xiě)Excel VBA代碼的工具稱(chēng)為Visual Basic Editor,簡(jiǎn)稱(chēng)VBE,Visual Basic編輯器環(huán)境指的就是VBE開(kāi)發(fā)環(huán)境。切換到VBE開(kāi)發(fā)環(huán)境在前面講解的操作中已經(jīng)講解了如何

10、進(jìn)入到Visual Basic編輯器(以下稱(chēng)為VBE開(kāi)發(fā)環(huán)境)當(dāng)中。本節(jié)中將詳細(xì)講解進(jìn)入到VBE開(kāi)發(fā)環(huán)境中的幾種方法。通過(guò)在Excel工作簿中按下Alt+F11快捷鍵進(jìn)入到VBE當(dāng)中。通過(guò)單擊“開(kāi)發(fā)工具”選項(xiàng)卡下的【Visual Basic】命令進(jìn)入到VBE當(dāng)中。單擊“開(kāi)發(fā)工具”選項(xiàng)卡下的【宏】按鈕,在彈出的“宏”對(duì)話(huà)框窗口中選擇要執(zhí)行的“宏”,然后單擊窗口中的【編輯】按鈕進(jìn)入到VBE當(dāng)中,如圖3.7所示。VBE工程窗口VBE的工程窗口中包括工作簿、工作表、窗體、模塊、類(lèi)模塊等對(duì)象。通常情況下,可以將每一個(gè)打開(kāi)的Excel工作簿看作默認(rèn)名稱(chēng)為“VBAProject(工作簿名稱(chēng))”的一個(gè)工程,一

11、個(gè)新建的Excel工作簿包含有一個(gè)Excel對(duì)象,在默認(rèn)的情況下,在該對(duì)象中包含3個(gè)工作表對(duì)象和一個(gè)工作簿對(duì)象,如圖3.9所示。在新建一個(gè)工作簿之后,還可以在工程中添加窗體、模塊和類(lèi)模塊等對(duì)象,添加了這些對(duì)象之后的工程窗口如圖3.10所示。VBE屬性窗口VBE屬性窗口中顯示的是工程窗口中Miscrosoft Excel對(duì)象或窗體的屬性。例如在工程窗口中選擇窗體“UserForm1”對(duì)象時(shí),則在屬性窗口中將顯示窗體“UserForm1”對(duì)象的相關(guān)屬性,如圖3.13所示。通過(guò)在屬性窗口中可以實(shí)現(xiàn)不使用程序代碼就可以設(shè)置對(duì)象的相關(guān)屬性。VBE代碼窗口代碼窗口的作用是用來(lái)編輯和存儲(chǔ)Excel VBA程

12、序的代碼,在工程窗口中的任何一個(gè)對(duì)象都有自己的代碼窗口。例如在VBE環(huán)境中雙擊模塊名稱(chēng),就可以查看該模塊的相關(guān)程序代碼,如圖3.15所示。代碼窗口的特征在上一節(jié)中講解了代碼窗口的結(jié)構(gòu)及其作用,本節(jié)中將講解代碼窗口中的幾個(gè)重要的特征。1自動(dòng)調(diào)節(jié)輸入屬性和方法的大小寫(xiě)2自動(dòng)顯示成員列表3自動(dòng)顯示參數(shù)信息4添加代碼注釋對(duì)象瀏覽器窗口對(duì)象瀏覽器窗口的作用是為VBA編程者提供使用各種對(duì)象方法和屬性的方法。在VBE環(huán)境中,單擊“視圖”下的“對(duì)象瀏覽器”子菜單項(xiàng)或者直接按下F2鍵,將彈出對(duì)象瀏覽器窗口。對(duì)象瀏覽器窗口主要由搜索結(jié)果列表框、類(lèi)列表框、成員列表框和詳細(xì)數(shù)據(jù)顯示區(qū)域4部分組成,如圖3.25所示。自

13、定義VBE開(kāi)發(fā)環(huán)境提高工作效率VBE是Excel VBA程序設(shè)計(jì)的開(kāi)發(fā)環(huán)境,用戶(hù)可以按照自己的編程習(xí)慣去設(shè)置這個(gè)開(kāi)發(fā)環(huán)境。設(shè)置合理的開(kāi)發(fā)環(huán)境,不但可以加快程序編寫(xiě)的速度,而且還可以提高編寫(xiě)代碼的正確率。自定義VBE開(kāi)發(fā)環(huán)境是在VBE開(kāi)發(fā)環(huán)境中的“選項(xiàng)”窗口中實(shí)現(xiàn)的。打開(kāi)Excel工作簿,進(jìn)入到VBE開(kāi)發(fā)環(huán)境當(dāng)中,然后選擇“工具”菜單下的“選項(xiàng)”子菜單,此時(shí)彈出“選項(xiàng)”窗口,如圖3.28所示。示例:第一個(gè)VBA程序在了解了VBE開(kāi)發(fā)環(huán)境之后,就可以開(kāi)發(fā)Excel VBA程序了。本節(jié)中將通過(guò)開(kāi)發(fā)一個(gè)簡(jiǎn)單的程序來(lái)向讀者講解開(kāi)發(fā)Excel VBA程序的具體實(shí)現(xiàn)過(guò)程。實(shí)現(xiàn)在Excel工作簿打開(kāi)時(shí)出現(xiàn)一個(gè)對(duì)話(huà)框。舉一反三本章主要講解了Excel VBA及其開(kāi)發(fā)環(huán)境(VBE開(kāi)發(fā)環(huán)境)的相關(guān)知識(shí)。是否能夠熟練地了解VBE開(kāi)發(fā)環(huán)境是學(xué)習(xí)Ex

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論