Описание: На почту каждый день от исполнителя (таких сотни) приходит файл xls. Каждый день новый. Макрос сохраняет его на диск в нужную папку.
Проблема: Часто приходят файлы не за тот день, старые, идентичные уже сохраненным. (Сравнение по дате создания, имени и другим атрибутам файла не подходит). Пытаюсь сделать проверку по хэш сумме, но аутлук даже один и тот же файл (Файлы сохраняю в одну папку, но с разными именами) сохраняет их с разными байтами, что ведёт к разному хэшу. Пробовал сохранять и через ActiveWorkbook.SaveAs и через objMail.Attachments.SaveAsFile, байты у двух одинаковых файлов выходят разные.
И не могу понять почему так.
Подскажите где просчёт, и подскажите, как тогда их сравнить на идентичность. П.с открытие файлов и сравнение уже содержимого не подразумевается из-за слишком большого количества файлов.
Читаю байты следующей функцией
Код полностью пока не вижу смысла выкладывать, т.к. проблема скорее в том, что я что-то не учёл или не знаю:)
Проблема: Часто приходят файлы не за тот день, старые, идентичные уже сохраненным. (Сравнение по дате создания, имени и другим атрибутам файла не подходит). Пытаюсь сделать проверку по хэш сумме, но аутлук даже один и тот же файл (Файлы сохраняю в одну папку, но с разными именами) сохраняет их с разными байтами, что ведёт к разному хэшу. Пробовал сохранять и через ActiveWorkbook.SaveAs и через objMail.Attachments.SaveAsFile, байты у двух одинаковых файлов выходят разные.
И не могу понять почему так.
Подскажите где просчёт, и подскажите, как тогда их сравнить на идентичность. П.с открытие файлов и сравнение уже содержимого не подразумевается из-за слишком большого количества файлов.
Читаю байты следующей функцией
Скрытый текст |
|---|
| Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") Set path = fso.GetFile(путь до файла) Function GetBytes(ByVal Path As String) As Byte() Dim stream As Object Set stream = CreateObject("ADODB.Stream") stream.Type = 1 ' adTypeBinary stream.Open stream.LoadFromFile Path GetBytes = stream.Read stream.Close End Function |
Код полностью пока не вижу смысла выкладывать, т.к. проблема скорее в том, что я что-то не учёл или не знаю:)
Изменено: - 13.08.2026 12:18:04