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

questionAnswers(6)

yourAnswerToTheQuestion