Последовательное чтение файлов из дирректории

Программирование на Visual Basic for Applications
Kinda
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 28.05.2004 (Пт) 10:59

Последовательное чтение файлов из дирректории

Сообщение Kinda » 28.05.2004 (Пт) 11:18

Добрый день всем!

Необходимо создать список
всех архивов в дирректории
отсортировав их по дате создания,
для формирорвания bat-ника
который их разархивирует.

Для этого написал процедуру:

Sub UzipFilesFromServer()
Dim MyPath, MyName
Dim StrBat As String
Dim i As Integer

i = 4
Open "C:\rcp\unzip.bat" For Output As #1
Print #1, "del c:\rcp\*.dbf"
Print #1, "del c:\rcp\*.htm"
Print #1, "del c:\rcp\*.txt"
Print #1, "del c:\rcp\*.doc"
MyPath = "\\netfire\Comerc_Doc\Þëÿ\rcp\*.zip"
MyName = Dir(MyPath, vbDirectory)
Do While MyName <> ""
If MyName <> "." And MyName <> ".." Then
If "01." + Format(FileDateTime("\\netfire\Comerc_Doc\rcp\" + MyName), "mm/yyyy") = _
DataOT(Cells(1, 4), Cells(1, 5)) Then
StrBat = "c:\rcp\pkunzip -e -o \\netfire\Comerc_Doc\rcp\" + MyName + " -d c:\rcp"
CharToOem StrBat, StrBat
Print #1, StrBat
Cells(i, 4) = MyName
Cells(i, 5) = FileDateTime("\\netfire\Comerc_Doc\rcp\" + MyName)
Cells(i, 6) = "01." + Format(FileDateTime("\\netfire\Comerc_Doc\rcp\" + MyName), "mm/yyyy")
Range(Cells(i, 4), Cells(i, 6)).Borders.LineStyle = xlContinuous
i = i + 1
End If
End If
MyName = Dir
Loop
Reset
Shell "c:\rcp\unzip.bat", vbNormalFocus
End Sub

только она записывает архивы в батник отсортированные
по имени, что приводит к ошибкам.
Подскажите как бороться.

Leon_
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 333
Зарегистрирован: 19.05.2004 (Ср) 16:31
Откуда: Moscow

Сообщение Leon_ » 29.05.2004 (Сб) 1:04

:roll: Не вижу в твоей процедуре никакой дополнительной сортировки полученных от Dir имен файлов. А тогда чего же ты ждешь от Dir, которая не производит сама сортировки?
Вот что пишут в Help'e:
Tip Because file names are retrieved in no particular order, you may want to store returned file names in an array, and then sort the array.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 105

    TopList