'1 遍歷文件夾
mypath1 = ThisWorkbook.path & "\"
folename = Dir(mypath1, vbDirectory) '這里主要是Dir的第二個參數的變化
Do
If Not folename Like "*.*" Then 'if判斷語句主要是去掉(當前目錄和上一級目錄的標識符“.”“..”,去掉點)
str1 = folename
k = k + 1
ReDim Preserve arr1(1 To k)
arr1(k) = folename '將文件夾名存入數組
End If
folename = Dir
Loop Until folename = ""
'2 遍歷文件
For Each a In arr1
mypath2 = mypath1 & a & "\"
filename = Dir(mypath2)
Do
str2 = a & "\" & filename
l = l + 1
ReDim Preserve arr2(1 To l)
arr2(l) = str2 '將文件夾和相應的文件存入數組
If filename = "" Then Exit Do
filename = Dir
Loop Until filename = ""
Next