30 NİSAN 2012, PAZARTESİ
Klasörü kullanan bir VBA dosyaları döngü?
Üzerinden bir dizini vba kullanarak Excel 2010 Dosya döngü etmek istiyorum.
Döngü içinde ihtiyacım olacak
- dosya adı, ve
- tarih dosyası biçimlendirilmiş.
Aksi takdirde klasörü yok daha sonra 50 dosya varsa gayet iyi çalışıyor, aşağıdaki şifreledim, gülünç yavaş (^ile klasörleri ile çalışmak istiyorum . 10000 dosyaları). Bu kod tek sorun file.name
aramak için bu işlem çok fazla zaman alır.
Bu çalışıyor ama waaaaaay çok yavaş (100 dosya başına 15 saniye) kod:
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
Sorun çözüldü:
- Benim sorunum zaman damgası komutunu kullanarak
FileDateTime
kontrol etmek için belirli bir şekildeDir
(15000 dosyaları için 20 saniye) kullanarak aşağıdaki çözüm ve çözüldü. - 20 saniye aşağıdan dikkate alarak başka bir cevap daha az 1 saniye azalır.
CEVAP
30 NİSAN 2012, PAZARTESİ
Dir çok hızlı gibi görünüyor.
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
Bunu Paylaş:
C ile bir dizindeki tüm dosyaları döng...
Yineleme tüm dosyaları bir dizin için ...
Bir dizindeki tüm dosyaları döngü PHP ...
.NET Yapılandırma Dosyaları, uygulama ...
İPhone tüm dosyaları silerek sanal (be...