Перебирать файлы в папке с помощью VBA?

Я хотел бы просмотреть файлы каталога, используя @ У в Excel 2010.

В цикле мне понадобится

имя файла и дата, когда файл был отформатирован.

Я кодировал следующее, что хорошо работает, если в папке не более 50 файлов, в противном случае это смехотворно медленно (мне нужно, чтобы она работала с папками с> 10000 файлами). Единственная проблема этого кода заключается в том, что операция для поискаfile.name занимает очень много времени.

Код работает, но слишком медленно (15 секунд на 100 файлов):


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. Принимая во внимание еще один ответ ниже 20 секунд, сокращается до менее чем 1 секунды.

Ответы на вопрос(6)

Ваш ответ на вопрос