我目前正在尝试在文件夹中查找文件,然后将其移到单独的目标文件夹中。我在相应文件夹的列旁边有一个文件名列。这些文件的名称为FILENAME_Ver_X,并且在不同文件类型的文件夹中应各有两个。
此刻,我的代码遍历每个文件,读取是否包含FILENAME字符串,如果包含,则将其移至该文件夹。但是,这非常慢,因为有大量文件,所以我想知道是否有更好的方法来搜索所有文件。
Set objFolder = fso.GetFolder(Viewables)
Do While r <= maxRows
d = Rng(r, 1) & "_Ver_"
e = Rng(r, 2)
For Each f1 In objFolder.Files
If InStr(1, Left(f1.Name, Len(d)), d) > 0 Then
tPath = ActiveWorkbook.Path & "\" & e & "\"
fso.MoveFile (Viewables & f1.Name), tPath
End If
Next
r = r + 1
Loop
答案 0 :(得分:0)
也许您只是使用vba循环浏览文件夹,然后每个文件夹使用一次Windows级移动命令
move命令将允许使用通配符,因此vba可以提供原始路径和move命令逻辑
因此,您最终每个文件夹运行一次移动命令
您可以在审计前后记录日志的路径和路径中的文件数