Открыть в определенной папке файл за указанную дату - VBA
Формулировка задачи:
Подскажите как в определенной папке, где куча однотипных txt -файлов с разными датами выбрать самый свежий файл не за последнюю дату, а за указанную дату например в диалоговом окне InputBox.
То есть если например в папке
за дату 20.01.2017 5 файлов,
за дату 21.01.2017 2 файлов,
за дату 23.01.2017 1 файл,
за дату 24.01.2017 4 файла.
Указали в InputBox дату 21.01.2017 и выбрался самый последний из 2-х файлов за 21.01.2017 дату.
например нарыл такой код по открытию самого последнего файла в папке,
нужно переделать под открытие последнего файла за указанную дату
или что-то такое подобное, не хватает опыта понять в чем ошибка
Решение задачи: «Открыть в определенной папке файл за указанную дату»
textual
Листинг программы
Sub tt()
' если на срочке ниже позникает ошибка "User-defined type not defined", нужно в настройках (Tools-References) установть признак Microsoft Scripting Runtime
Dim FSO As New Scripting.FileSystemObject
Dim fld As Scripting.Folder
Dim fl As Scripting.file, x As Scripting.file
Dim m As Date, d As Date
Set fld = FSO.GetFolder("e:\Downloads\_тест")
Dim LastDate As Date
LastDate = InputBox(Format("dd.mm.yy"))
' просмотр файлов в заданном каталоге
For Each fl In fld.Files
d = FileDateTime(fl)
If LastDate = Format(d, "dd.mm.yy") Then
m = Application.Max(m, d)
If m = d Then Set x = fl
End If
Next
If Not x Is Nothing Then
MsgBox "Можете делать что угодно с файлом " & x.Name, vbInformation
Else
MsgBox "Таких Файлов нет!", vbCritical
End If
End Sub