閱文時長 | | 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即可。