Открыть в определенной папке файл за указанную дату - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5