Hugo121
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Ну вот так, что писать - можно и переделать, сейчас пишется дата ошибки и имя папки, пути MyPath = "C:\temp\Magiogre" LogPath = "C:\temp\MagiogreLog.txt" подправьте: Код: Option Explicit Const ForAppending = 8 Dim fso, oFolder, oSubFolder Dim objTS, objfile Dim MyPath, LogPath, vremja, prefix MyPath = "C:\temp\Magiogre" LogPath = "C:\Tmp\MagiogreLog.txt" vremja = Split((Replace((Date() & "." & Time()), ":", ".")), ".") 'msgbox vremja(0) 'date 'msgbox vremja(1) 'month 'msgbox vremja(2) 'year 'msgbox vremja(3) 'hour 'msgbox vremja(4) 'min 'msgbox vremja(5) 'sec prefix = vremja(0) & "." & vremja(1) & "." & vremja(2) Set fso = wsh.CreateObject("Scripting.FileSystemObject") Set oFolder = fso.GetFolder(MyPath) On Error Resume Next For Each oSubFolder in oFolder.SubFolders if cdate(mid(oSubFolder.name, instr(1,oSubFolder.name, "[до")+4, 10)) <= cdate(prefix) then If err.number = 0 then fso.DeleteFolder oSubFolder, true else ' We now open the file to write it out err.clear If FSO.FileExists(LogPath) Then Set objTS = FSO.OpenTextFile(LogPath, ForAppending) 'открываем итоговый файл для добавления записей Else Set objfile = FSO.CreateTextFile(LogPath) Set objfile = Nothing Set objTS = FSO.OpenTextFile(LogPath, ForAppending) End if objTS.WriteLine Date() & " " & cstr(oSubFolder.name) objTS.Close Set objTS = Nothing End if End If Next | Может конечно и зря на каждый еррор заново файл открываю, но я думаю ерроры будут в будущем редко, если за них взяться (за юзеров ) P.S. Кстати, если поменять на Код: LogPath = "C:\temp\MagiogreLog.xls" | и Код: objTS.WriteLine Date() & vbtab & cstr(oSubFolder.name) | то получим по сути текстовый файл, но который отлично открывается Экселем со всеми бонусами - сортировка, подсчёт и т.д.  | Всего записей: 128 | Зарегистр. 14-08-2007 | Отправлено: 17:17 17-05-2010 | Исправлено: Hugo121, 17:30 17-05-2010 |
|