excel-vba-在文件夹下查找所有文件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Attribute VB_Name = "在文件夹下查找所有文件"
Option Explicit


Function searchtxt1(ByVal path As String)
Dim f As String
Dim i As Integer
Dim j As Integer
Dim all As Integer '记录这次导入文件与文件夹的总数
f = Dir(path, 16)
j = 0
all = 1
Do While f <> ""
i = Range("A1000").End(xlUp).Row() + 1
If f <> And f <> "." And f <> ".." And f <> "081226" Then '判断是否是隐藏文件或文件夹
If (GetAttr(path & f) And vbDirectory) = vbDirectory Then
Range("A" & i) = f
Range("b" & i) = "文件夹"
Range("C" & i) = path & f & "\"
j = j + 1
all = all + 1
Else
If InStr(f, "scene") Then
Range("A" & i) = f
Range("b" & i) = "文件"
Range("C" & i) = path & f
all = all + 1
End If '选择包含特定字符串(后缀)的文件
' Range("A" & i) = f
' Range("b" & i) = "文件"
' Range("C" & i) = path & f
' all = all + 1
End If
End If
f = Dir

Loop
If j <> 0 Then
searchtxt2 (all)
End If
End Function
Function searchtxt2(ByVal s As Integer)
Dim i, j As Integer
j = Range("A100000").End(xlUp).Row()
For i = j - s + 1 To j
If Range("B" & i) = "文件夹" Then
searchtxt1 (Range("C" & i))
End If
Next i
End Function


Sub main()
Dim path As String

Cells.Clear
path = "C:\Users\admin\Desktop\"
Range("A1") = "文件名"
Range("B1") = "类型"
Range("C1") = "地址"

searchtxt1 (path)

Range("A:C").Columns.AutoFit
MsgBox "完毕!"

End Sub

相关文档
最新文档