過程是構成程序的一個模塊,往往用來完成一個相對獨立的功能。過程可以使程序更清晰、更具結構性。VBA具有四種過程:Sub過程、Function函數、Property屬性過程和Event事件過程。
一.Sub過程
Sub過程的參數有兩種傳遞方式:按值傳遞(ByVal)和按地址傳遞(ByRef)。如下例:
Subpassword(ByValxasinteger,ByRefyasinteger)
Ify=100theny=x+yelsey=x-y
x=x+100
Endsub
Subcall_password()
Dimx1asinteger
Dimy1asinteger
x1=12
y1=100
Callpassword(x1,y1)‘調用過程方式:1.Call過程名(參數1,參數2…);2.過程名參數1,參數2…
debug.printx1,y1‘結果是12、112,y1按地址傳遞改變了值,而x1按值傳遞,未改變原值
Endsub
二.Function函數
函數實際是實現一種映射,它通過一定的映射規則,完成運算并返回結果。參數傳遞也兩種:按值傳遞(ByVal)和按地址傳遞(ByRef)。如下例:
Functionpassword(ByValxasinteger,byrefyasinteger)asboolean
Ify=100theny=x+yelsey=x-y
x=x+100
ify=150thenpassword=trueelsepassword=false
EndFunction
Subcall_password()
Dimx1asinteger
Dimy1asinteger
x1=12
y1=100
ifpasswordthen‘調用函數:1.作為一個表達式放在=右端;2.作為參數使用
debug.printx1
endif
Endsub
三.Property屬性過程和Event事件過程
這是VB在對象功能上添加的兩個過程,與對象特征密切相關,也是VBA比較重要組成,技術比較復雜,可以參考相關書籍。