|
我根据校长的遍历文件夹 可是不能把某些文件夹的工作簿名称提取出来 麻烦更我解决哈
- Sub 提取文件信息()
- Dim arr(1 To 10000) As String
- Dim f, i, k, f2, f3, x
- Dim brr(1 To 100000, 1 To 6) As String, q As Integer
- Dim fso As Object, myfile As Object
- arr(1) = ThisWorkbook.Path & ""
- i = 1: k = 1
- Do While i < UBound(arr)
- If arr(i) = "" Then Exit Do
- f = Dir(arr(i), vbDirectory)
- Do
- If Not (f Like "*.xl*") And f <> "" And InStr(f, ".") <> 1 Then '原来你的错误就在由于文件夹是由*.*表示的,这跟工作表的后缀名中的.冲突了。
- k = k + 1
- arr(k) = arr(i) & f & ""
- End If
- f = Dir
- Loop Until f = ""
- i = i + 1
- Loop
- '*******下面是提取各个文件夹的文件***
- Set fso = CreateObject("Scripting.FileSystemObject")
- For x = 1 To UBound(arr)
- If arr(x) = "" Then Exit For
- f3 = Dir(arr(x) & "*.xls*")
- Do While f3 <> ""
- q = q + 1
- brr(q, 6) = arr(x) & f3
- Set myfile = fso.GetFile(brr(q, 6))
- brr(q, 1) = f3
- brr(q, 2) = myfile.Size
- brr(q, 3) = myfile.DateCreated
- brr(q, 4) = myfile.DateLastModified
- brr(q, 5) = myfile.DateLastAccessed
- f3 = Dir
- Loop
- Next x
- Range("a2").Resize(1000, 6) = ""
- Range("a2").Resize(q, 6) = brr
- End Sub
复制代码
|
|