VBA 获取指定文件路径下的文件列表
业务需求:对文件夹(包含子文件夹)中指定类型文件进行批处理
解决思路:通过VBA获取指定文件路径下的文件列表清单,并通过一维数组形式存储文件名称,文件扩展名。子文件夹的清单可以通过递归调用的方式获取文件列表。然后根据文件类型作为判断条件,打开指定类型文件进行后续处理,比如文本替换等。以下给出文件夹遍历过程代码:
Sub GetAllFiles(ByVal RecepPath As String) ' get files list
Dim Mainfolder, SubFolder, File_Currentfolder As Object
On Error Resume Next
Set Mainfolder = FS.getfolder(RecepPath)
For Each File_Currentfolder In Mainfolder.Files
FilesList_i = FilesList_i + 1
If Right(RecepPath, 1) <> "\" Then
RecepPath = RecepPath & "\"
End If
FilesList(FilesList_i, 1) = RecepPath & File_Currentfolder.Name
FilesNameList(FilesList_i, 1) = FS.getbasename(File_Currentfolder)
FileExtNameList(FilesList_i, 1) = FS.getextensionname(File_Currentfolder)
Next
For Each SubFolder In Mainfolder.Subfolders
Call GetAllFiles(SubFolder.Path)
Next
End Sub