我想在Excel 2010中使用vba循环遍历目录中的文件。
在循环中,我需要:
我已经编写了以下工作,如果文件夹没有超过50个文件,否则它是荒谬的慢(我需要它与>10000个文件的文件夹一起工作)。这段代码的唯一问题是查找file.name
的操作花费了非常多的时间。
代码可以工作,但太慢了(每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
问题解决:
Dir
解决了(20秒用于15000个文件),并使用命令FileDateTime
检查时间戳。