Const basePath As String = "Z:\" '路径
Dim n As Long '记录文件数目
Dim y As Integer '记录递归次数
Sub getFiles(spath As String)
Dim oFso As Object, ofile As Object, fd As Object
Dim baseFolder As Object
'创建Fso对象-后期绑定
Set oFso = CreateObject("Scripting.FileSystemObject")
'获取文件夹对象
Set baseFolder = oFso.GetFolder(spath)
'遍历对应的文件夹中的全部文件夹
For Each ofile In baseFolder.Files
n = n + 1
Cells(n, 1) = ofile.Path '文件名称写入A列
Next
'处理所有文件夹
For Each fd In baseFolder.SubFolders
If y < 3 Then '限制四级递归,只取到四级文件夹
y = y + 1
'递归调用
getFiles fd.Path
Else
n = n + 1
Cells(n, 1) = fd.Path '超出级数的文件夹只记录文件夹名字
End If
Next
y = y - 1
End Sub
'一句代码调用
Sub 获取全部文件名称()
getFiles basePath
End Sub
VBA获取路径下所有文件或文件夹
最新推荐文章于 2024-02-26 14:56:53 发布