VBA 遍历文件夹

Scripting.FileSystemObject的应用实例,用到如何获取子文件夹列表,如何获取文件夹里的文件列表。

  • FileSystemObject的SubFolders方法获取所有子文件夹。
  • Folder对象的Files方法获取所有子文件。

1 获取文件夹里的子文件和文件列表

源代码示例:

'#########################################################
' 获取文件夹里的文件列表
Sub FileFolderList()

nPath = "C:\"
Dim iFileSys
Set iFileSys = CreateObject("Scripting.FileSystemObject")   '建立一个文件系统对象
Set iFolder = iFileSys.GetFolder(nPath)                     '获取文件夹nPath的这个文件夹
Set sFolders = iFolder.SubFolders                           '获取文件夹nPath里的子文件夹
Set sFiles = iFolder.Files                                  '获取文件夹nPath里的子文件

'输出当前文件子文件夹列表
Debug.Print "子文件夹列表:"
For Each folder In sFolders
    Debug.Print folder.Path
Next

Debug.Print "子文件列表:"
'输出当前文件子文件列表
For Each file In sFiles
    Debug.Print file.Path
Next

End Sub

2 如何遍历文件夹以及子文件夹里的所有子文件

通过递归的方法遍历所有文件名
源代码示例:

'#########################################################
' 获取文件夹里的文件列表
Sub GetSubFolder(ByVal nPath As String)
Dim iFileSys
Set iFileSys = CreateObject("Scripting.FileSystemObject")
Set iFolder = iFileSys.GetFolder(nPath)
Set sFolder = iFolder.SubFolders

'获取当前文件列表
For Each iFile In iFolder.Files
    Debug.Print iFile.Path
Next

'获取子文件夹并递归遍历文件列表
For Each nFolder In sFolder
    folderPath = nFolder.Path
    GetSubFolder (folderPath)
Next

End Sub
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容