VBA では、PidArr
という関数で呼び出される動的配列に値を格納していますUnlock
。配列は次のように始まります。
Dim PidArr() As String
ReDim PidArr(1 To 2)
挿入されるデータは次のようになります。
...within a loop
PidArr(Count) = LineStr 'this is a string containing the data.
Logging "Inserted " & PidArr(Count) 'this correctly shows the data has inserted.
ReDim PidArr(1 To Count + 1) 'resize the array more
値をその配列に正しく格納した後、別の関数 (Advance) が後で呼び出されます (そしてPidArr
配列をそれに渡します) 。
Advance listRecords:=PidArr
関数は次のようになります。
Sub Advance(ByRef listRecords() As String)
次Advance
のようなものを印刷できます。
UBound(listRecords)
そしてそれは6を返します。
listRecords(1)
しかし、またはなどの値を出力しようとするとlistRecords(2)
、何も出力されません (空白)。
どうしてこれなの?クラッシュしないため、配列内の無効な範囲ではありません。