當一個副程式(Sub/Function)結束時,在其中所宣告的變數就不再儲存,變數的內容因此留失,以下有一些例子:
Dim A As Integer
Private Sub Form_Click()
A = A + 1
Print A
End Sub
結果:
1
2
3
4
5
Private Sub Form_Click()
Dim A As Integer
A = A + 1
Print A
End Sub
結果:
1
1
1
1
1
Private Sub Form_Click()
Static A as Integer
A = A + 1
Print A
End Sub
結果:
1
2
3
4
5
例子1由於變數在最外宣告,因此不受副程式限制;
例子2變數在副程式內宣告,因此副程式結束後變數不被儲存;
例子3雖然變數在副程式內宣告,但由於宣告方式是Static,因此副程式結束後變數依然儲存。
沒有留言:
張貼留言