Public Function FindFiles(ByVal Pattern As String) As String()
Dim Names() As String
Dim Name As String
Dim Capacity As Long
Dim Max As Long
Capacity = 2
Max = -1
ReDim Names(Capacity)
Name = Dir(Pattern)
Do Until Name = ""
Max = Max + 1
If Max > Capacity Then
Capacity = Fix(Capacity * 1.5)
ReDim Preserve Names(Capacity)
End If
Names(Max) = Name
Name = Dir()
Loop
If Max > -1 Then
ReDim Preserve Names(Max)
Else
Names = Split("")
End If
FindFiles = Names
End Function
1.5 倍ペースで配列を拡張するのは Java の java.util.Vector のマネ。