Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Получение хеша MD5 файлов из выбранной папки. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Получение хеша MD5 файлов из выбранной папки.
ArtyLight Дата: Воскресенье, 10.03.2019, 18:37 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Привет!
Имеется макрос который нарыл на просторах интернет, он сейчас собирает информацию о файлах в указанной папке. Но еще нужно как то прикрутить к этому макросу чтобы он считал хеш MD5 и добавлял в соотвествующий столбик.
Нашел как можно посмотреть хеш через командную строку но как это прикрутить к макросу не понимаю

Прошу помощи в данном вопросе, возможно есть другой способ получения хеша файла.
Это нужно для подготовки ИУЛ (информационно удостоверяющий лист) который содержит информацию о файле включая хеш.

Заранее благодарен

MS Office Office 2010 x64 версия 14.0.7015.1000


Сообщение отредактировал ArtyLight - Воскресенье, 10.03.2019, 18:39
 
Ответить
СообщениеПривет!
Имеется макрос который нарыл на просторах интернет, он сейчас собирает информацию о файлах в указанной папке. Но еще нужно как то прикрутить к этому макросу чтобы он считал хеш MD5 и добавлял в соотвествующий столбик.
Нашел как можно посмотреть хеш через командную строку но как это прикрутить к макросу не понимаю

Прошу помощи в данном вопросе, возможно есть другой способ получения хеша файла.
Это нужно для подготовки ИУЛ (информационно удостоверяющий лист) который содержит информацию о файле включая хеш.

Заранее благодарен

MS Office Office 2010 x64 версия 14.0.7015.1000

Автор - ArtyLight
Дата добавления - 10.03.2019 в 18:37
bmv98rus Дата: Воскресенье, 10.03.2019, 20:48 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4113
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
[vba]
Код
Function GetMD5(ByVal FilePath As String) As String
GetMD5 = Split(CreateObject("WScript.Shell"). _
    Exec("Certutil -hashfile """ & FilePath & """ MD5").StdOut.ReadAll, vbCrLf)(1)
End Function
[/vba]

но лучше прямо через VBA, Смотрите например тут тут


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Воскресенье, 10.03.2019, 22:32
 
Ответить
Сообщение[vba]
Код
Function GetMD5(ByVal FilePath As String) As String
GetMD5 = Split(CreateObject("WScript.Shell"). _
    Exec("Certutil -hashfile """ & FilePath & """ MD5").StdOut.ReadAll, vbCrLf)(1)
End Function
[/vba]

но лучше прямо через VBA, Смотрите например тут тут

Автор - bmv98rus
Дата добавления - 10.03.2019 в 20:48
ArtyLight Дата: Воскресенье, 10.03.2019, 22:02 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо! В какую часть макроса вставить эту функцию?
но лучше прямо через VBA
- тут помоему получают хеш текста а не файла.
 
Ответить
СообщениеСпасибо! В какую часть макроса вставить эту функцию?
но лучше прямо через VBA
- тут помоему получают хеш текста а не файла.

Автор - ArtyLight
Дата добавления - 10.03.2019 в 22:02
bmv98rus Дата: Воскресенье, 10.03.2019, 22:44 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4113
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
В какую часть макроса вставить эту функцию?

функцию добавить до или после основного макроса а в теле , ну например так
[vba]
Код
        Cells(r, 6) = GetMD5(FileItem.Path)
[/vba]


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
В какую часть макроса вставить эту функцию?

функцию добавить до или после основного макроса а в теле , ну например так
[vba]
Код
        Cells(r, 6) = GetMD5(FileItem.Path)
[/vba]

Автор - bmv98rus
Дата добавления - 10.03.2019 в 22:44
krosav4ig Дата: Воскресенье, 10.03.2019, 23:35 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
посмотреть хеш через командную строку
а оно надо?
[vba]
Код
Function FileMD5$(sFilePath$)
    On Error GoTo err
    Dim byteArr() As Byte, B As Variant, sTmp$
    With CreateObject("adodb.stream")
        .Type = 1: .Open: .LoadFromFile sFilePath
        byteArr = .read
    End With
    With CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider")
        For Each B In .ComputeHash_2(byteArr)
            sTmp = sTmp & UCase(Right("0" & Hex(B), 2))
        Next
    End With
    Erase byteArr
    FileMD5 = sTmp
    Exit Function
err: Debug.Print "Ну не шмогла я, не шмогла"
End Function
[/vba]

[vba]
Код
Function FileMD5$(sFilePath$)
    On Error GoTo err
    Dim byteArr() As Byte
    With CreateObject("adodb.stream")
        .Type = 1: .Open: .LoadFromFile sFilePath
        byteArr = .read
    End With
    With CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider")
        FileMD5 = Join(Application.Dec2Hex(.ComputeHash_2(byteArr), 2), "")
    End With
    Erase byteArr
    Exit Function
err: Debug.Print "Ну не шмогла я, не шмогла"
End Function
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 10.03.2019, 23:53
 
Ответить
Сообщение
посмотреть хеш через командную строку
а оно надо?
[vba]
Код
Function FileMD5$(sFilePath$)
    On Error GoTo err
    Dim byteArr() As Byte, B As Variant, sTmp$
    With CreateObject("adodb.stream")
        .Type = 1: .Open: .LoadFromFile sFilePath
        byteArr = .read
    End With
    With CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider")
        For Each B In .ComputeHash_2(byteArr)
            sTmp = sTmp & UCase(Right("0" & Hex(B), 2))
        Next
    End With
    Erase byteArr
    FileMD5 = sTmp
    Exit Function
err: Debug.Print "Ну не шмогла я, не шмогла"
End Function
[/vba]

[vba]
Код
Function FileMD5$(sFilePath$)
    On Error GoTo err
    Dim byteArr() As Byte
    With CreateObject("adodb.stream")
        .Type = 1: .Open: .LoadFromFile sFilePath
        byteArr = .read
    End With
    With CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider")
        FileMD5 = Join(Application.Dec2Hex(.ComputeHash_2(byteArr), 2), "")
    End With
    Erase byteArr
    Exit Function
err: Debug.Print "Ну не шмогла я, не шмогла"
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 10.03.2019 в 23:35
bmv98rus Дата: Понедельник, 11.03.2019, 07:41 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4113
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
Прикольно то, что вроде и итог одинаков, но разный если сравнивать тупо
[vba]
Код
1d36b7f799f673bf45370d0af4c3f4c8
[/vba]
[vba]
Код
1D36B7F799F673BF45370D0AF4C3F4C8
[/vba]


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Понедельник, 11.03.2019, 07:42
 
Ответить
СообщениеПрикольно то, что вроде и итог одинаков, но разный если сравнивать тупо
[vba]
Код
1d36b7f799f673bf45370d0af4c3f4c8
[/vba]
[vba]
Код
1D36B7F799F673BF45370D0AF4C3F4C8
[/vba]

Автор - bmv98rus
Дата добавления - 11.03.2019 в 07:41
dashunka Дата: Среда, 18.05.2022, 12:32 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

bmv98rus,
добрый день. а моглиб поделиться рабочим файлом для иул
 
Ответить
Сообщениеbmv98rus,
добрый день. а моглиб поделиться рабочим файлом для иул

Автор - dashunka
Дата добавления - 18.05.2022 в 12:32
bmv98rus Дата: Четверг, 19.05.2022, 07:56 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4113
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
для иул
для чего простите?


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
для иул
для чего простите?

Автор - bmv98rus
Дата добавления - 19.05.2022 в 07:56
dashunka Дата: Четверг, 19.05.2022, 13:02 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

bmv98rus,
маркос для получения получения хеша файла.
извините за неточное описание в прошлом письме, просто тема была создана, для автоматического определения в экселе хеша файлов, для создания ИУЛ.
я прописала вышеуказанные кода, и не получилось нужного результата. а у вас получились
Дата: Понедельник, 11.03.2019, 07:41 | Сообщение № 6
"1D36B7F799F673BF45370D0AF4C3F4C8"
 
Ответить
Сообщениеbmv98rus,
маркос для получения получения хеша файла.
извините за неточное описание в прошлом письме, просто тема была создана, для автоматического определения в экселе хеша файлов, для создания ИУЛ.
я прописала вышеуказанные кода, и не получилось нужного результата. а у вас получились
Дата: Понедельник, 11.03.2019, 07:41 | Сообщение № 6
"1D36B7F799F673BF45370D0AF4C3F4C8"

Автор - dashunka
Дата добавления - 19.05.2022 в 13:02
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!