Visual Basic for Applications
编程范型 | Multi-paradigm編程語言 |
---|---|
實作者 | Microsoft |
发行时间 | 1993年 |
当前版本 |
|
型態系統 | 靜態/動態混合,強/弱混合 |
操作系统 | Microsoft Windows, Mac OS X |
許可證 | 專有EULA |
網站 | learn |
受影响于 | |
QuickBASIC, Visual Basic |
Visual Basic for Applications(VBA)是一種Visual Basic的一種巨集語言,主要能用來擴展Windows的應用程式功能,特別是Microsoft Office軟體。也可說是一種應用程式視覺化的Basic Script。 1994年發行的Excel 5.0版本中,即具備了VBA的巨集功能。
數據類型
基本數據類型
即Primary Type Data,下述列表的括號內為字節數:
- Byte (1)
- Boolean (2)
- Integer (2)
- Long (4)
- Single (4)
- Double (8)
- Currency (8)
- Decimal (14)
- Date (8)
- String
- Object (4)
對像數據
即Object Data。對於Excel,包括:
- Application
- Workbook
- Worksheet
- Range
- Names
- Comment
數組
Option Base 0 '數組索引值從0開始
Option Base 1 '數組索引值從1開始
Dim MyArray(10) '聲明一個數組變量,10是最大的可用的數組索引值
MyArray(5) = 101 '給數組的元素賦值
Dim Data(10,5) ’聲明一個二維數組變量
Data(1,1) = "A001" '給數組元素賦值
Dim cArr(-11 To 20, 1 To 3) As String '聲明一個數組,定義數組索引值的上下界
Dim dArr() As String '聲明動態數組
ReDim dArr(0 To 5, 1 To 2) '改變動態數組的尺寸默認把原數據清除。如果保留原來的數據,必須加上參數Preserve。
'使用Preserve參數時只能改變最後一維的大小
If UBound(vTemp) = -1 Then
'判斷數組變量vTemp是否為 空數組
End If
Erase MyArrar, Data 'Erase語句清除數組元素,釋放變量佔用的空間
控制結構
if 語句
if 條件1 then 語句1 elseif 條件2 then 語句2 elseif ... ... else 語句n end if
Select Case 語句
Select Case 表達式 Case 表達式列表1 語句1 Case 表達式列表2 語句2 ... Case 表達式列表n 語句n End Select 表達式列表形如: Is >=90 80 To 89
Do...Loop 語句
Do While或Until 條件 語句塊1 Exit Do 語句塊2 Loop
Do 語句塊1 Exit Do 語句塊2 Loop While或Until 條件
For...Next語句
For 循環控制變量=初值To 終值Step 步長 語句塊 ‘Exit For語句可以跳出循環體 Next
For Each … Next語句
For Each 循環控制變量 In 集合變量 語句塊 ‘Exit For語句可以跳出循環體 Next 循環控制變量
With語句
With 對象引用 語句塊 End With
On Error語句
On Error Goto 出錯處理語句的label '跳轉到出錯處理語句 或 On Error Resume Next '遇到錯誤,不管錯誤,繼續往下執行
其他語句
註釋語句
使用REM或者單引號開始的行。
語句的連寫與續行
如果一行包括多條語句,用冒號分割各個語句。跨多行的語句,在行末用“空格加下劃線”表示續行。
過程與函數
Sub 過程名(參數表) 語句塊 End Sub Function 函數名(參數表) As Type 語句塊 函數名=表達式 Exit Function End Function
可以是Private、Public、Friend、Static等修飾。
參考文獻
- VBA Language Reference for MS Office 2013
- Office VBA 語言參考中文版for MS Office 2013
- Office VBA 對像庫的引用for MS Office 2013
- VBA & Visual Basic Scripting 中文版語言參考