Цикъл преминаващ през файлове в папка

0 одобрения 0 неодобрения
попитан 2015 ноември 19 в VBA от vbafreak

Здрасти ,

идеята ми да направя цикъл, който да преминава през всички файлове в директория и това да стане чрез VBA в Excel 2010.

В цикъла ми са необходими :

- име на файла

- дата, на която е форматиран файла

До момента съм написал код, който работи добре ако в папката няма повече от 50 файла, иначе е много бавен. А аз трябва да работя с папки , които са с над 1000 файла ! Предполагам проблемът е в това, че опeрацията , която преглежда file.name отнема прекалено много време. Пействам кода си по-долу:

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

1 отговор

1 одобрение 0 неодобрения
отговорени 2015 ноември 19 от BgExcelAdmin цар (647 точки)

Трябва да вкараш файловете в цикъл:

Sub LoopThroughFiles() 

Dim MyObj As Object, MySource As Object, file As Variant 

file = Dir("c:\testfolder\")

 While (file <> "")

 If InStr(file, "test") > 0 Then

 MsgBox "found " & file 

Exit Sub 

End If 

file = Dir 

Wend 

End Sub

 

1 коментар

коментиран 2015 ноември 19 от vbafreak
Супер, мерси много!
Добре дошли в българския форум за Ексел и Майкрософт офис! Тук можете да питате хора със знания и опит, както и да споделите знанията и опита си с другите.
...