Function sub_fol2(path1, arr1) '给一个路径,输入一个空的数组; Dim arr As New arr arr1 = arr.extend(arr1, path1) Set fso = CreateObject("scripting.filesystemobject") Set fd = fso.getfolder(path1) Set fs = fd.subfolders If fs.Count > 0 Then For Each sub_fol In fs Set sub_fd = fso.getfolder(path1) Set sub_fs = fd.subfolders If sub_fs.Count > 0 Then a = sub_fol2(sub_fol.Path, arr1) Else arr1 = arr.extend(arr1, sub_fol.Path) End If Next End If Set fso = Nothing Set fd = Nothing Set fs = Nothing Set sub_fd = Nothing Set sub_fs = Nothing sub_fol2 = arr1 End Function '添加flag 0表示不查询子文件夹;1表示查询子文件夹 Function file_fol2(path1, Optional type1 = "*", Optional key_word = "", Optional flag As Integer = 0) Dim arr As New arr arr1_end = Array() If flag = 0 Then str1 = path1 + "\*" & key_word & "*." & type1 On Error Resume Next file_name = Dir(str1) Do While file_name <> "" arr1_end = arr.extend(arr1_end, path1 + "\" + file_name) file_name = Dir Loop ElseIf flag = 1 Then path_arr = sub_fol2(path1, Array()) For Each sub_pa In path_arr str1 = sub_pa + "\*" & key_word & "*." & type1 On Error Resume Next file_name = Dir(str1) Do While file_name <> "" arr1_end = arr.extend(arr1_end, sub_pa + "\" + file_name) file_name = Dir Loop Next End If file_fol2 = arr1_end End Function
标签:arr,Set,sub,walk,path1,file,arr1 From: https://www.cnblogs.com/szd001/p/18395400