跳转到内容

Visual Basic for Applications

维基百科,自由的百科全书

这是本页的一个历史版本,由Newmangling留言 | 贡献2017年1月27日 (五) 11:01 基本數據類型编辑。这可能和当前版本存在着巨大的差异。

Visual Basic for Applications(VBA)
Visual Basic for Applications logo
Visual Basic for Applications logo
编程范型Multi-paradigm編程語言
實作者Microsoft
发行时间1993年
当前版本
  • 7.1(2012;穩定版本)
編輯維基數據鏈接
型態系統靜態/動態混合強/弱混合
操作系统Microsoft Windows, Mac OS X
許可證專有EULA
網站learn.microsoft.com/en-us/office/vba 編輯維基數據鏈接
受影响于
QuickBASIC, Visual Basic

Visual Basic for Applications(VBA)是一種Visual Basic的一種巨集語言,主要能用來擴展Windows的應用程式功能,特別是Microsoft Office軟體。也可說是一種應用程式視覺化的Basic Sc​​ript。 1994年發行的Excel 5.0版本中,即具備了VBA的巨集功能。

數據類型

基本數據類型

即Primary Type Data,下述列表的括號內為字節數:

  • Byte (1):无符号类型,取值范围0-255
  • Boolean (2)
  • Integer (2)
  • Long (4)
  • Single (4)
  • Double (8)
  • Currency (8)
  • Decimal (14)
  • Date (8)
  • String
  • Object (4)
  • Variant (根据分配确定)

對像數據

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

參考文獻

外部連結