Прошу помочь с таким вопросом: перестал работать макрос по распароливанию листов. До НГ функционировал исправно. Требуется распаролить файл и, как назло, перестал работать.
Добрый день, коллеги!
Прошу помочь с таким вопросом: перестал работать макрос по распароливанию листов. До НГ функционировал исправно. Требуется распаролить файл и, как назло, перестал работать.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, Это известный макрос для снятия паролей, я пользуюсь очень похожим
Sub Unlock_Excel_Worksheet()
t = Timer If UnlockSheet(ActiveSheet) Then
MsgBox "Защита снята. Потребовалось времени: " & Timer - t Else
MsgBox "Не удалось снять защиту листа", vbCritical EndIf EndSub Function UnlockSheet(ByRef sh As Worksheet) AsBoolean Dim i%, j%, k%, l%, m%, n AsLong, i1%, i2%, i3%, i4%, i5%, i6%, txt$ OnErrorResumeNext For i = 65To66: For j = 65To66: For k = 65To66 For l = 65To66: For m = 65To66: For i1 = 65To66 For i2 = 65To66: For i3 = 65To66: For i4 = 65To66 For i5 = 65To66: For i6 = 65To66
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 = 32To126
sh.Unprotect txt$ & Chr(n) If Err Then
Err.Clear Else Debug.Print"Пароль: " & txt$ & Chr(n)
UnlockSheet = True ExitFunction EndIf Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next EndFunction
в 2007 и 2010 пока не встречал проблем, снимает защиту
bmv98rus, Это известный макрос для снятия паролей, я пользуюсь очень похожим
Sub Unlock_Excel_Worksheet()
t = Timer If UnlockSheet(ActiveSheet) Then
MsgBox "Защита снята. Потребовалось времени: " & Timer - t Else
MsgBox "Не удалось снять защиту листа", vbCritical EndIf EndSub Function UnlockSheet(ByRef sh As Worksheet) AsBoolean Dim i%, j%, k%, l%, m%, n AsLong, i1%, i2%, i3%, i4%, i5%, i6%, txt$ OnErrorResumeNext For i = 65To66: For j = 65To66: For k = 65To66 For l = 65To66: For m = 65To66: For i1 = 65To66 For i2 = 65To66: For i3 = 65To66: For i4 = 65To66 For i5 = 65To66: For i6 = 65To66
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 = 32To126
sh.Unprotect txt$ & Chr(n) If Err Then
Err.Clear Else Debug.Print"Пароль: " & txt$ & Chr(n)
UnlockSheet = True ExitFunction EndIf Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next EndFunction
в 2007 и 2010 пока не встречал проблем, снимает защитуsboy
Совершенно верно. Этот макрос не ищет родной пароль, он подбирает псевдопароль, который тоже подходит. Михаил, на самом деле для запароленного листа существует немереная туча подходящих псевдопаролей и этот макрос подбирает один из них. Кстати, у меня такая же ситуация была в свое время - этот макрос хорошо отрабатывал в 2007 и 2010, но страшно тормозил в 2013 и 2016. Пришлось учиться вскрывать пароли иначе. Как - поищите в интернете, здесь нельзя (пункт 5с Правил форума)
Совершенно верно. Этот макрос не ищет родной пароль, он подбирает псевдопароль, который тоже подходит. Михаил, на самом деле для запароленного листа существует немереная туча подходящих псевдопаролей и этот макрос подбирает один из них. Кстати, у меня такая же ситуация была в свое время - этот макрос хорошо отрабатывал в 2007 и 2010, но страшно тормозил в 2013 и 2016. Пришлось учиться вскрывать пароли иначе. Как - поищите в интернете, здесь нельзя (пункт 5с Правил форума)_Boroda_
Оффтоп: _Boroda_, sboy, Мужчины, спасибо. Отстал от жизни. Собственно и на форум пришел, чтоб и свои силы в любимой программе проверить и поучится у вас и есть чему. zaak88, Прошу прощения что в заблуждение ввел.
[offtop] _Boroda_, sboy, Мужчины, спасибо. Отстал от жизни. Собственно и на форум пришел, чтоб и свои силы в любимой программе проверить и поучится у вас и есть чему. zaak88, Прошу прощения что в заблуждение ввел.[/offtop]bmv98rus
Замечательный Временно просто медведь , процентов на 20.
_Boroda_, если можно, посоветуйте, где поискать в личном сообщении, или, если есть, то помогите с готовым решением (макросом, надстройкой), буду очень благодарен за помощь!
_Boroda_, если можно, посоветуйте, где поискать в личном сообщении, или, если есть, то помогите с готовым решением (макросом, надстройкой), буду очень благодарен за помощь!zaak88