2,462
社区成员
发帖
与我相关
我的任务
分享
Private Function SearchFiles(sPath As String, sFileName As String) As String()
Dim aList() As String
Dim sTemp As String
Dim i&, k&, U As Long
If (Right$(sPath, 1) = "\") Then
sTemp = sPath & sFileName
Else
sTemp = sPath & "\" & sFileName
End If
k = -1: U = 31
ReDim aList(U)
sTemp = Dir$(sTemp, 7&)
Do
If (Len(sTemp) = 0) Then Exit Do
k = k + 1
If (k > U) Then
U = U + 8
ReDim Preserve aList(U)
End If
aList(k) = sTemp
sTemp = Dir$()
Loop
If (k >= 0) Then ReDim Preserve aList(k)
SearchFiles = aList
End Function
' 应用示例:
Private Sub test()
Dim aFiles() As String
Dim i&
' 搜索 “D:\文档” 中的所有 .xls 文件:
aFiles = SearchFiles("D:\文档", "*.xls")
For i = 0 To UBound(aFiles)
Debug.Print i, aFiles(i)
Next
End Sub