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