我想在Excel 2010中使用vba循环遍历目录的文件.
在循环中,我将需要
我编写了以下代码,如果该文件夹没有超过50个文件,则工作正常,否则它是非常慢的(我需要它与> 10000文件的文件夹一起使用).这段代码唯一的问题是查找操作file.name需要花费很多时间.
代码有效,但waaaaaay太慢(每100个文件15秒):
Sub LoopThroughFiles()
Dim MyObj As Object, MySource As Object, file As Variant
Set MySource = MyObj.GetFolder("c:\testfolder\")
For Each file In MySource.Files
If InStr(file.name, "test") > 0 Then
MsgBox "found"
Exit Sub
End If
Next file
End Sub
Run Code Online (Sandbox Code Playgroud)
问题解决了:
Dir以特定方式(15000个文件为20秒)和使用该命令检查时间戳来解决FileDateTime.