|
用DIR进行循环
Sub 父子转换法()
'On Error Resume Next
Dim 父亲(1 To 10000) As String
Dim f, i, k, f2, f3, x
Dim arr1(1 To 100000, 1 To 1) As String, q As Integer
Dim t
t = Timer
父亲(1) = ThisWorkbook.path & "\"
i = 1: k = 1
Do While i < UBound(父亲)
If 父亲(i) = "" Then Exit Do
f = Dir(父亲(i), vbDirectory)
Do
If InStr(f, ".") = 0 And f <> "" Then
k = k + 1
父亲(k) = 父亲(i) & f & "\"
End If
f = Dir
Loop Until f = ""
i = i + 1
Loop
'*******下面是提取各个文件夹的文件***
For x = 1 To UBound(父亲)
If 父亲(x) = "" Then Exit For
f3 = Dir(父亲(x) & "*.*")
Do While f3 <> ""
q = q + 1
arr1(q, 1) = 父亲(x) & f3
f3 = Dir
Loop
Next x
ActiveSheet.UsedRange = ""
Range("a1").Resize(q) = arr1
MsgBox Format(Timer - t, "0.00000")
End Sub |
|