Office·Word高級·VBA基礎概念語法

閱文時長 | 5.21分鐘 字數統計 | 1823字符
『Office·Word高級·VBA基礎概念語法』
編寫人 | SCscHero 編寫時間 | Monday, June 29, 2020
文章類型 | 系列 完成度 | 待完善
座右銘 每一個偉大的事業,都有一個微不足道的開始。Hello World!

常量與變量                                              完成度:80%

基礎概念

  • 宏方法定義指令:
Sub [宏方法名稱]() 
	[內容]
End Sub
  • 自定義函數定義指令:
Function [自定義函數名稱](參數A,...) As [返回值數據類型] 
	 [自定義函數內容]
End Function

  • 使用Dim關鍵字聲明變量,可以直接指定數據類型,也可在後面賦值中根據值類型自動賦予數據類型。
  • 變量是命名的存儲位置,包含在程序執行階段修改的數據。
  • 變量有變量名,在其範圍內唯一。變量名必須以字符或下劃線開頭,不能超過255個字符,而且中間不能包含句點或類型聲明字符。
  • 變量若是對象,不可與方法名重複。
  • 對變量賦值,可以直接賦值,若是對象,需要使用Set關鍵字進行賦值,並指定類型。

  • 使用關鍵字Const聲明,也可以直接賦值,省略Const。

  • VBA中使用’符號標明註釋,之後該行的代碼將被編譯器忽略

  • 使用模態窗口,MsgBox [變量]指令,F5運行執行方法,即可彈出
  • 使用立即窗口,Debug.Print [變量]指令輸出

語法

'聲明常量關鍵字Const
Const pi = 3.1415926
'彈出模態窗口調試
MsgBox pi * 4 '消息框
'聲明變量x和y,也可以使用Dim x,y批量聲明
Dim x
Dim y
x = 10
y = 20
'聲明一個Range數據類型的變量ran
Dim ran As Range
'彈出x+y的值
MsgBox x + y

常見數據類型

  • 變量的特性,用來決定可保存何種數據。數據類型包括:
    • Byte字節
    • Boolean布爾型
    • Integer(%)整數型
    • Long(&)長整型
    • Currency(@)貨幣型
    • Single(!)單精度浮點型
    • Double(#)雙精度浮點型
    • Object對象

常見Q&A

將變量聲明爲指定數據類型,好處是什麼?【答】對象可有成員提示,並可以節省內存空間

條件判斷語句                                            完成度:80%

IF

IF語句是許多編程語言中最常用的條件判斷語句,語法如下:

  • 單重判定的單行和多行寫法
Sub 單重判定的單行和多行寫法()
If 99 >= 88 Then MsgBox "恭喜": MsgBox "不恭喜"
If 99 >= 88 Then
MsgBox "恭喜"
MsgBox "不恭喜"
End If
End
End Sub 
  • 多重判定(塊寫法)
Sub 多重條件判斷·塊寫法()
If 99 >= 88 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If
End
End Sub
  • 多條件寫法
Sub IF多條件寫法()
Dim o As Byte
o = InputBox("請輸入你的年齡")
If o >= 60 Then
MsgBox "老年"
ElseIf o > 30 Then
MsgBox "中年"
ElseIf o >= 6 Then
MsgBox "少年"
End If
End
End Sub

Select Case

Select Case語句類似於其他編程語言中的Switch,語法如下:

Sub SelectCase()
Select Case 81
'Is代替81這個值
    Case Is >= 80
        MsgBox "合格"
    Case Else
        MsgBox "不合格"
    End Select
    
End Sub

循環語句                                                完成度:80%

For

For語法如下:

Sub For()
Dim icount As Integer '設置一個循環變量
'To後面的10表示icount到達10後停止循環;Step後面的2表示步長,即icount變量每次+2進行判斷,步長可省略,默認爲1
For icount = 1 To 10 Step 2 
Next icount
End Sub```

## For Each

For Each常用於遍歷集合對象,語法如下:
```basic
Sub ForEach()
'聲明一個Range對象(Range對象不清楚的可以去微軟官方資料查下,不懂也沒關係)
Dim c As Range
For Each c In Selection.Characters
    MsgBox c.Text
Next c
End Sub

Do Loop

Do Loop循環,類似於其他編程語言中的Do While,即先執行一次後在判斷是否滿足退出循環條件,也可以無限循環。Do Loop中有兩個關鍵字來終止循環,Union和While,Union即當滿足表達式條件,終止循環;While即當滿足表達式條件,繼續循環。

Sub doLoop語法()
n = 5
Do
   n = n + 1
   MsgBox n
Loop Until n = 10
'使用Union指令,當滿足表達式條件,退出Do Loop循環
'或使用While指令,當條件成立時,循環
End Sub

如果有幫助到你,請點個贊哦。如果有什麼問題,請評論,一起探討一下。共同進步!如有什麼需要與作者聯繫的,直接私信SCscHero即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章