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