HOME > 即効テクニック > AccessVBA > コントロール > Eraseステートメントで配列の初期化とメモリの解放をする

即効テクニック

コントロール

Eraseステートメントで配列の初期化とメモリの解放をする

(Access 97)
Eraseステートメントを使うと、固定サイズの配列の場合は要素を再初期化し、動的配列の場合は割り当てたメモリを解放することができます。
サンプルでは、固定サイズの配列に値をセットしながらその内容をイミディエイトウィンドウに出力して、Eraseステートメントによって初期化された配列の内容を再びイミディエイトウィンドウに出力しています。

Sub Sample()
    Dim i As Integer
    Dim NumArray(5) As Integer
    
    '(1)
    For i = 0 To 5
        NumArray(i) = i + 1
        Debug.Print NumArray(i)
    Next i
    
    ' 各要素の値を0にします。
    Erase NumArray
    
    '(2)
    For i = 0 To 5
        Debug.Print NumArray(i)
    Next i
    
End Sub

 イミディエイトウィンドウには、(1)では
 1 
 2 
 3 
 4 
 5 
 6 
と出力され、(2)では、
 0 
 0 
 0 
 0 
 0 
 0 
と出力されます。
その他の固定配列、動的配列の例は次のとおりです。

Sub Sample2()    
    '可変長文字列型の配列。
    Dim StrVarArray(5) As String
    'バリアント型の配列。
    Dim VarArray(5) As Variant
    '動的配列。
    Dim DynamicArray() As Integer
    
    'メモリ領域を割り当てます。
    ReDim DynamicArray(5)
    
    '各要素の値を長さ0の文字列("")にします。
    Erase StrVarArray
    
    '各要素の値をEmpty値にします。
    Erase VarArray
    
    '配列が占有していたメモリを解放します。
    Erase DynamicArray

End Sub