Прошу помочь с таким вопросом: перестал работать макрос по распароливанию листов. До НГ функционировал исправно. Требуется распаролить файл и, как назло, перестал работать.
Добрый день, коллеги!
Прошу помочь с таким вопросом: перестал работать макрос по распароливанию листов. До НГ функционировал исправно. Требуется распаролить файл и, как назло, перестал работать.zaak88
zaak88, For i = 65 To 66 - A и B соответвенно при этом жестко 11 этих знаков. + 1 из с 32 по 126. Вы уверены что пароль именно 12 символов? Ссоотвтевено "AAAAAAAAAAA " - на первом проходе благополучно сработал. Как говорится, или замок к ключу не подходит либо фомка слабовата.
zaak88, For i = 65 To 66 - A и B соответвенно при этом жестко 11 этих знаков. + 1 из с 32 по 126. Вы уверены что пароль именно 12 символов? Ссоотвтевено "AAAAAAAAAAA " - на первом проходе благополучно сработал. Как говорится, или замок к ключу не подходит либо фомка слабовата.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Среда, 11.01.2017, 13:16
bmv98rus, извините, не понял ничего из написанного... кто-либо может помочь с проблемой, доработать макрос или предложить вариант, чтобы распоролить файл?
bmv98rus, извините, не понял ничего из написанного... кто-либо может помочь с проблемой, доработать макрос или предложить вариант, чтобы распоролить файл?zaak88
Генератор генерит пароль от "AAAAAAAAAAA " до "BBBBBBBBBBB~" количество символов всегда 12 в примере у вас пароли "1111" который никогда не совпадет. Ка кон у вас работал - загадка или пароли были из указанного диапазона. 1. при известном количестве символов парля надо иметь соотвтевующее число циклов ну и не от 65 до 65 , а от 32 до 126 или по известному набору если он как то был предопределен. 2. При неизвестном количестве - пербор надо вести и с учетом прибавления символов.
сделать все можно, но п.2 будет работать не быстро. а для п1 нужны данные.
zaak88,
Генератор генерит пароль от "AAAAAAAAAAA " до "BBBBBBBBBBB~" количество символов всегда 12 в примере у вас пароли "1111" который никогда не совпадет. Ка кон у вас работал - загадка или пароли были из указанного диапазона. 1. при известном количестве символов парля надо иметь соотвтевующее число циклов ну и не от 65 до 65 , а от 32 до 126 или по известному набору если он как то был предопределен. 2. При неизвестном количестве - пербор надо вести и с учетом прибавления символов.
сделать все можно, но п.2 будет работать не быстро. а для п1 нужны данные.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
bmv98rus, Это известный макрос для снятия паролей, я пользуюсь очень похожим [vba]
Код
Sub Unlock_Excel_Worksheet() t = Timer If UnlockSheet(ActiveSheet) Then MsgBox "Защита снята. Потребовалось времени: " & Timer - t Else MsgBox "Не удалось снять защиту листа", vbCritical End If End Sub Function UnlockSheet(ByRef sh As Worksheet) As Boolean Dim i%, j%, k%, l%, m%, n As Long, i1%, i2%, i3%, i4%, i5%, i6%, txt$ On Error Resume Next For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66 txt$ = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) For n = 32 To 126 sh.Unprotect txt$ & Chr(n) If Err Then Err.Clear Else Debug.Print "Пароль: " & txt$ & Chr(n) UnlockSheet = True Exit Function End If Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next End Function
[/vba] в 2007 и 2010 пока не встречал проблем, снимает защиту
bmv98rus, Это известный макрос для снятия паролей, я пользуюсь очень похожим [vba]
Код
Sub Unlock_Excel_Worksheet() t = Timer If UnlockSheet(ActiveSheet) Then MsgBox "Защита снята. Потребовалось времени: " & Timer - t Else MsgBox "Не удалось снять защиту листа", vbCritical End If End Sub Function UnlockSheet(ByRef sh As Worksheet) As Boolean Dim i%, j%, k%, l%, m%, n As Long, i1%, i2%, i3%, i4%, i5%, i6%, txt$ On Error Resume Next For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66 txt$ = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) For n = 32 To 126 sh.Unprotect txt$ & Chr(n) If Err Then Err.Clear Else Debug.Print "Пароль: " & txt$ & Chr(n) UnlockSheet = True Exit Function End If Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next End Function
[/vba] в 2007 и 2010 пока не встречал проблем, снимает защитуsboy
Совершенно верно. Этот макрос не ищет родной пароль, он подбирает псевдопароль, который тоже подходит. Михаил, на самом деле для запароленного листа существует немереная туча подходящих псевдопаролей и этот макрос подбирает один из них. Кстати, у меня такая же ситуация была в свое время - этот макрос хорошо отрабатывал в 2007 и 2010, но страшно тормозил в 2013 и 2016. Пришлось учиться вскрывать пароли иначе. Как - поищите в интернете, здесь нельзя (пункт 5с Правил форума)
Совершенно верно. Этот макрос не ищет родной пароль, он подбирает псевдопароль, который тоже подходит. Михаил, на самом деле для запароленного листа существует немереная туча подходящих псевдопаролей и этот макрос подбирает один из них. Кстати, у меня такая же ситуация была в свое время - этот макрос хорошо отрабатывал в 2007 и 2010, но страшно тормозил в 2013 и 2016. Пришлось учиться вскрывать пароли иначе. Как - поищите в интернете, здесь нельзя (пункт 5с Правил форума)_Boroda_
[offtop] _Boroda_, sboy, Мужчины, спасибо. Отстал от жизни. Собственно и на форум пришел, чтоб и свои силы в любимой программе проверить и поучится у вас и есть чему. zaak88, Прошу прощения что в заблуждение ввел.[/offtop]
[offtop] _Boroda_, sboy, Мужчины, спасибо. Отстал от жизни. Собственно и на форум пришел, чтоб и свои силы в любимой программе проверить и поучится у вас и есть чему. zaak88, Прошу прощения что в заблуждение ввел.[/offtop]bmv98rus
Замечательный Временно просто медведь , процентов на 20.
_Boroda_, если можно, посоветуйте, где поискать в личном сообщении, или, если есть, то помогите с готовым решением (макросом, надстройкой), буду очень благодарен за помощь!
_Boroda_, если можно, посоветуйте, где поискать в личном сообщении, или, если есть, то помогите с готовым решением (макросом, надстройкой), буду очень благодарен за помощь!zaak88