Loop através de arquivos em uma pasta usando VBA?
Gostaria de percorrer os arquivos de um diretório usando vba no Excel 2010.
No loop, precisarei de
o nome do arquivo e a data em que o arquivo foi formatad Eu codifiquei o seguinte, que funciona bem se a pasta não tiver mais de 50 arquivos, caso contrário, é ridiculamente lenta (eu preciso que ela trabalhe com pastas com> 10000 arquivos). O único problema deste código é que a operação para procurarfile.name
leva muito tempo.
ódigo que funciona, mas é lento demais (15 segundos por 100 arquivos
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
Problema resolvido
Meu problema foi resolvido pela solução abaixo usandoDir
de uma maneira específica (20 segundos para 15000 arquivos) e para verificar o registro de data e hora usando o comandoFileDateTime
. Levando em consideração outra resposta abaixo dos 20 segundos, é reduzido para menos de 1 segund