经常需要的代码,考试大为您整理!
’sPath是所查找的文件夹的路径,list是返回的文件列表
Public Function GetAllFiles(ByVal sPath As String, list As Collection)
Dim item As String
Dim oPaths As New Collection
item = Dir(sPath, vbDirectory)
While Len(item) > 0
If item <> "." And item <> ".." Then
If (GetAttr(FullPathName(sPath) & item) And vbDirectory) = vbDirectory Then
oPaths.Add item
Else
If IsModelFile(item) Then list.Add sPath & item
End If
End If
item = Dir
Wend
Dim p
For Each p In oPaths
Call GetAllFiles(Combin(sPath, p), list)
Next
End Function
’判断文件夹后是否有\
Public Function FullPathName(ByVal strPath As String) As String
FullPathName = IIf(VBA.Right(strPath, 1) = "\", strPath, strPath & "\")
End Function
’多个文件夹名组成路径
Public Function Combin(ParamArray arg()) As String
Dim X
Dim result As String
For Each X In arg()
result = result & FullPathName(X)
Next
Combin = result
End Function
责任编辑:cyth