當前位置:才華齋>計算機>office辦公>

Excel中的VBA程式設計論文

office辦公 閱讀(2.81W)

 摘 要:在日常辦公中,就資料處理這一塊,相信大部分人首選的軟體都是微軟的Excel。不可否認Excel的資料處理能力確實強大,不愧為微軟的經典之作,但是,隨著各行各業的數字化,對資料的處理能力要求也越來越高,明顯Excel力不從心,不過VBA的出現使得Excel重新強大起來。

Excel中的VBA程式設計論文

關鍵詞Excel;VBA;資料處理;程式設計

  引言

在這個快節奏的社會,我們對資料的處理也更要求高效快捷,VBA為我們提供這個途徑。VBA是微軟提供的一種統一的應用程式自動化語言(Visual Basic For Application),它並不是只存在於Excel中,事實上在微軟的Office軟體中都帶有VBA。由於VBA在資料處理上的強大優勢,使的Excel成為它的第一個附體。另外,微軟也提供了VBA的開發環境IDE,這樣VBA可以不依附在其它軟體中,可以獨立的開發。而VBA強大的另一個方面在於它可以將已有的資料和開發的客戶端程式一起包裝,整合使用。

  的工作原理和開發環境

VBA技術說到底是一種高階的程式設計技術,通過編寫程式碼完成某個應用程式的特定的功能。對於VBA而言,他的物件就是微軟公司Office中的各個應用程式。每一個應用程式都有自己特定的Application物件。具體到Office Excel,資料表物件和圖形影象物件是它的主要物件。

1.1工作原理

首先,作為一個程式設計工具VBA需要一個工作平臺,Excel恰好提供了這平臺,VBA利用這個平臺可以將自己的各種功能發揮的淋漓盡致,使Excel資料處理能力更強大,也更加靈活。從使用的簡易性看,VBA依然是VB的面向物件的程式設計,對開發者的程式設計技術要求並不高,VBA也是比較新的巨集語言,使得它的使用更加簡單。對於VBA與Excel以及VBA與VB的關係和工作原理可以通過下邊的圖來解釋。

原理圖1

VBA為一個程式設計工具,可以產生VBA程式碼,這是增強應用程式的實際程式碼。同時,VBA服務實際物件是Excel的應用程式。如果沒有VBA這個工具,就不能產生服務程式碼,如果沒有程式碼也談不上增強Excel功能。沒有VBA,Excel也不能找到自己需要的程式碼,因此我們說是VBA給了程式碼和Excel合作的機會,VBA就是聯絡兩者的橋樑。其工作過程可以簡單理解為:客戶把Excel需要加強的功能給開發人員,設計者對此設計出Excel的應用程式,這個應用程式就是VBA的物件,進而設計者利用VBA,編寫需要的程式碼,經過編譯產生Excel所需要的VBA程式碼,最後,VBA將已有的應用程式的程式碼和VBA程式碼進行封裝,生成滿足客戶需要的“加強版”Excel。

1.2開發環境

前面已經提到VBA實際上可以認為是VB的子集合,這樣它的執行環境也就很好理解,就是VB的執行的IDE環境,都是基於Basic。它們包含的物件以及物件的屬性和方法都是相同的。兩者的不同在於它們的執行平臺不同,相對來說VB的執行平臺更廣,VBA則只是執行在Excel中,但也因此VBA可以利用Excel的資料處理功能,包括報表、資料統計、圖形分析等。對於開發人員來說很有必要認識清楚VB和VBA的區別,在此列出以下幾條:1. 利用VB開發的Windows應用程式,它的程式碼部分最後必須是生成機器碼,而VBA開發的程式碼並不直接生成機器碼,而是在產生VB的'程式碼後就停止,其他工作就不在屬於VBA,這是VBA的巨集語言所決定;2. 在獨立性方面VBA明顯不如VB,實際上VB有自己的開發環境,而VBA必須依附於某個應用程式,Excel就是VBA很好的“宿主”;3. VBA雖然有執行平臺的限制,但這也是它的優勢,可以利用平臺已有的功能加強自己而且可以簡化開發週期,這是VB所不具有的。儘管有這樣或那樣的不同,但是由於VB和VBA在構架上是相同的所以對開發者來說還是很簡單的,而且在程式的移植方面也是比較簡單的。

  的具體開發流程

對於任何一種程式設計工具,在使用之前我必須瞭解它的執行環境和它的基本語法,這是開發的兩個基礎。同樣,VBA也不例外,首先,VBA執行在IDE下,那麼我們就必須瞭解在這個環境下如何建立工程,如何建立物件(面向物件的程式設計必須有這一步),以及是否需要設計窗體;其次,對VBA基本的語法要熟悉,對於有使用VB經驗的開發者是很簡單的。VBA比較特殊的地方就是巨集,其實巨集就是按照一定順序執行的指令,或者說是指令集,當我們重複性操作的時候,就可以利用巨集,不需要每次操作都執行各種指令,一個巨集就解決問題。為了方便理解和加深記憶,下面我舉出一個自己製作COM元件供Excel呼叫的例項。本例項比較簡單沒有涉及窗體設計和圖形設計。

//物件宣告

Private xlsApp As New Excel.Application

//開啟工作簿函式

Public Sub Opening()

xlsApp.Workbooks.Add

xlsApp.Visible—True

End Sub

//寫入工作簿函式

Public Sub Writing(By Val column As Byte,By Val row As Byte,By Val data)

xlsApp.Cells(c,r).FormulaRlCl=data

  3.結束語

VBA的進入使諸如Excel等Office軟體的功能更加強大,同時VBA語法簡單,可移植性強,對開發人員的要求也不高,所以,對VBA的進一步研究和開發利用勢在必行,尤其它和Access以及SQL的結合更是研發的重點。

  參考文獻:

趙全斌.Excel 工程應用【M】.北京:清華大學出版社,2009.