VB で配列
たとえば、
Option Explicit Public Sub Foo(ByRef x() As String) ReDim x(3) ' ここでエラーになる。 End Sub Private Sub Command1_Click() Dim a(1) As String Call Foo(a) Debug.Print "a = " & UBound(a) End Sub
とすると
実行時エラー '10': この配列は固定されているか、または一時的にロックされています。
というエラーになる。
Option Explicit Public Sub Foo(ByRef x() As String) ReDim x(3) End Sub Private Sub Command1_Click() ReDim a(1) As String Call Foo(a) Debug.Print "a = " & UBound(a) End Sub
なら大丈夫。