Visual Basic for Applications

维基百科,自由的百科全书
跳转至: 导航搜索
Visual Basic for Applications(VBA)
Visual Basic for Applications logo
编程范型 Multi-paradigm編程語言
實作者 Microsoft
发行时间 1993年
最新发行时间 7.1(Microsoft Office 2013)
型態系統 靜態/動態混合強/弱混合
作業系統 Microsoft Windows, Mac OS X
許可證 專有EULA

Visual Basic for Applications(VBA)是一種Visual Basic的一種巨集語言,主要能用來擴展Windows的應用程式功能,特別是Microsoft Office軟體。也可說是一種應用程式視覺化的Basic Sc​​ript。 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 'Eras​​e語句清除數組元素,釋放變量佔用的空間

控制結構[编辑]

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等修飾。

參考文獻[编辑]

外部連結[编辑]