<strong>VBA获取某文件夹下所有文件,或子文件目录的文件</strong>
'------------------------------------------- '获取某文件夹下的所有Excel文件 '------------------------------------------- Sub getExcelFile(sFolderPath As String) On Error Resume Next Dim f As String Dim file() As String Dim x k = 1 ReDim file(1) file(1) = sFolderPath & "\" f = Dir(file(1) & "*.xlsx") '通配符*.*表示所有文件,*.xlsx Excel文件 Do Until f = "" 'Range("a" & x) = f Range("a" & x).Hyperlinks.Add Anchor:=Range("a" & x), Address:=file(i) & f, TextToDisplay:=f x = x + 1 f = Dir Loop End Sub '------------------------------------------- '获取某文件夹下的所有文件和子目录下的文件 '------------------------------------------- Sub getAllFile(sFolderPath As String) 'Columns(1).Delete On Error Resume Next Dim f As String Dim file() As String Dim i, k, x x = 1 i = 1 k = 1 ReDim file(1 To i) file(1) = sFolderPath & "\" '-- 获得所有子目录 Do Until i > k f = Dir(file(i), vbDirectory) Do Until f = "" If InStr(f, ".") = 0 Then k = k + 1 ReDim Preserve file(1 To k) file(k) = file(i) & f & "\" End If f = Dir Loop i = i + 1 Loop '-- 获得所有子目录下的所有文件 For i = 1 To k f = Dir(file(i) & "*.*") '通配符*.*表示所有文件,*.xlsx Excel文件 Do Until f = "" 'Range("a" & x) = f Range("a" & x).Hyperlinks.Add Anchor:=Range("a" & x), Address:=file(i) & f, TextToDisplay:=f x = x + 1 f = Dir Loop Next End Sub
原文地址:http://blog.csdn.net/pashine/article/details/42100237