VBA: Сравнить время и дату у файлов с помощью макроса

Автор Anton, 25 апреля 2018, 10:35

Anton

Есть файлы по пути Path1 Path2.
Имена файлов и расширения одинаковые.
Как можно сравнить время и дату создания файлов и вывести разницу в пересчете на минуты?

Администратор

Если нужно узнать дату и время создания у закрытых файлов, то встроенных средств нет и нужно использовать дополнительные инструменты.
Например, можно использовать библиотеку "Windows Script Host Object Model" и объект "FileSystemObject".

Макрос
Sub макрос()
   
    Dim fso As Object
    Dim FN1 As String, FN2 As String
    Dim dates(1 To 2) As Date, dif As Long
   
   
    '1. Полные имена (путь + имя) файлов.
    FN1 = "C:\Users\User\Desktop\Файл1.docx"
    FN2 = "C:\Users\User\Desktop\Файл2.docx"
   
    '2. Создание объекта "FileSystemObject".
    Set fso = VBA.CreateObject("Scripting.FileSystemObject")
   
    '3. Запись дат создания в массив.
    dates(1) = fso.GetFile(FN1).DateCreated
    dates(2) = fso.GetFile(FN2).DateCreated
   
    '4. Запись разницы в минутах в переменную "dif".
    dif = VBA.DateDiff("n", dates(1), dates(2))
   
    '5. Вывод результата на монитор.
    MsgBox "Разница в минутах: " & dif

End Sub
[свернуть]