Снять защиту с листов или книги Excel
Краткое описание
Макрос позволяет легко и быстро восстановить доступ к листам или книге Excel. Просто нажмите кнопку, выберите нужный файл и макрос создаст копию указанного файла, но уже без установленного ранее пароля.
Подробное описание
Иногда бывают ситуации, когда работая с тем или иным файлом Excel, мы устанавливаем защиту (пароль) на листы в файле или на саму книгу. Если пароль простой, используется для большинства документов или где-то записан, то разумеется, разблокировка не вызывает проблем. Но что делать, если запись о пароле утеряна, пароль устанавливался давно или мы не можем его вспомнить? В данном случае предлагаем воспользоваться не сложным макросом, который легко и быстро удалит установленные пароли в вашем файле. Пароли удаляются: Для использования макроса достаточно: а) нажать кнопку "Снять защиту с файла" б) в появившемся окне подтвердить, что пароль удаляется именно в вашем файле
в) после нажатия кнопки "OK", в диалоговом окне выбрать файл Excel, в котором требуется снять защиту
Результатом работы макроса будет новый файл (точная копия вашего указанного), но уже без пароля на листах и в книге. Сохраняется данный файл в папке с исходным (выбранным) вами файлом и в названии данного файла присутствует текст "NotProtectionFile". Как пример:
Макрос успешно снимает защиту в файлах Excel с расширением xlsx и xlsm. Версия Excel (2007, 2010, 2013) значения не имеет. Данным макросом также успешно можно сбросить пароли с файлов xls и xlsb, если нужные файлы предварительно пересохранить в поддерживаемый макросом формат (xlsx/xlsm). Как видите, ничего сложного. Защита документов в Excel - это по большому счету миф, который работает только на неподготовленных пользователей. Поэтому, если вы разрабатываете какие-либо отчеты, ведете файлы с конфиденциальной информацией и передаете сформированные документы третьим лицам, блокируя некоторый доступ паролем, то обязательно учитывайте данный факт. И еще раз напоминаем. Восстановление собственных паролей - это легальная операция. Взлом паролей чужих файлов без явного согласия их владельца запрещен.
«Вроде как» говорю на всякий случай, чтоб не накаркать)
Если например в макросе (excel, word и тп) будет код, который просто служит своего рода входной точкой (загрузочным модулем) для основного вируса, то вряд ли Virustotal что-то найдет, т.к. на момент проверки макрос хоть и есть, но он чист.
Самое надежное в данном случае — это открывать файл с макросом в безопасном режиме и смотреть код самостоятельно. Если, конечно, есть хоть минимальный опыт работы в VBA.
Но вы можете открыть ваш xlsb-файл, пересохранить его в формат xlsm и по нему уже прогнать макрос.
Должно получиться.
Кстати, этот момент также указан в описании к программе (в самом верху страницы). Но почему-то мало кто дочитывает всё до конца :)
И если разработчик поставил пароль на файл, значит, имел на то основания.
В 2016 не проверял. Будет желание, попробуйте разобраться самостоятельно — правка там должна быть не существенная.
Все работает. Спасибо разработчикам.
Если в файле нет ничего секретного, можете прислать мне на почту info@excelstore.pro для проверки.
Office 2010, создал пустой файл .xlsx с паролем «12345» и зашифровал паролем книгу.
Запускаю макрос, выбираю файл и получаю ошибку «Ran-time error '62'; Input past end of file»
Как можно исправить данную ситуацию?
Спасибо.
upd: если защищать паролем только лист, то защиту снимает…
Вероятно, макрос не умеет снимать пароль с зашифрованной паролем книги.
Файл xlsm. Windows 7. Excel 2010. Выдает «out of memory» Error `7`
Что делать?
Отправьте мне файл, я посмотрю в чем причина. Моя почта: info@excelstore.pro
Возникла ошибка
Run-time error '62'
input past and of file
Файл большой :(
1. Какой версии эксель? Случаем не 2010?
2. Какое расширение у файла (xlsm, xlsx, xlsb...)?
3. И что за защита? Если защита на открытие файла, то макрос данный тип защиты не снимает.
Run-time error '62':
Input past end of file
1) У меня Excel 2010
2) файл с которого снимается пароль имеет расширение .xlsx
3) Защита стоит на «Защитить книгу»
Пришлите мне ваш файл (если там нет ничего секретного), я поправлю макрос с учетом данной версии офиса.
Файл можете отправить на адрес: info@excelstore.pro
Выдал error '62' при попытке ReadTXTFile
Пытался открыть файл xlsx, которому задал пароль почти пять лет назад.
Макрос работает только для снятия защиты с листов и книг (т.е. для паролей, установленных на вкладке Рецензирование)
Будем признательны, если поделитесь ссылками на наш сайт или данную страницу в соц. сетях (или других интернет ресурсах).
Файлы xlsm. Windows 7. Excel 2013.
Выдает следующее сообщение: Вставьте последний диск из многотомного набора и нажмите ОК.
Защита не снимается.
Что в этом случае может помочь?
Спасибо за ответ!
Если есть возможность, пришлите ваш файл мне на почту, я посмотрю. Почта: info@excelstore.pro
Были трудности т. к. при создании копии книги .xlsm в имени присутствовали буквы кириллицы
Соответсвенно была ошибка при сохранении книги
Переименовал книгу в латиницу и все без проблем удалось
Спасибо большое
а есть ли возможность на открытие книги что нибудь подобрать?
Спасибо.
В целом, это конечно возможно. Обычная программа перебора паролей. Сама программа должна быть не особо сложной. Труднее будет с базой паролей. Ведь, если база паролей будет очень большая, то программа будет работать очень долго.
Input past end of file
Вот что выдал макрос.
Пароль на открытие документа(
Скинула вам на почту, вдруг чем-то сможете помочь(
Самое интересное, что пароль я знаю, но он, после пересылки, почему-то перестал подходить оО
PO uzbekskiy budet OMA QOYIL SIZLARGA
THANK YOU
Спасибо!
Кстати, о том, что файл xls нужно пересохранять в формат xlsx/xlsm, — есть упоминание в описании.
Было как бы 2 блока — 1 снял благодаря программе но все равно не могу снять пароль чтобы отредактировть exel.
Помогите пожалуйста.
Run-time error '62':
Input past end of file
Excel 2016
файл, скорее всего, в 2013, так как *.xlsx
Не уверен, работал в нём в далёком 2013-м году.
Скорее всего запаролен с шифрованием, а незапароленная версия умерла вместе со старым винтом. Можно что-нибудь сделать в данном случае?
Да, макрос выдаёт ошибку 62 и, зачем-то, запускает бейсик на китайском.
Если защита вашего файла реализована через шифрование, то мой макрос здесь уже не поможет. Решение в данном случае только такое: excelstore.pro/examples-of-work/excel/to-unprotect-the-sheet-or-workbook-excel.html#comment-269
У меня документ, где есть данные скрытые кнопкой, от которой бухгалтерия забыла пароль.
Перевёл документ в расширение xlsm. Этот скрипт сломал макрос (как я понял) и при выборе в сохранённом документе макроса, который был запоролен (там их 4) показывается нужная мне скрытая информация.
Спасибо, помогло)
P.S. Прошу прощения за двойной комментарий, с утра лагает интернет. Если есть возможность, удалите пожалуйста лишний
Допилил под себя: заккоментил предупреждение и по русски стал обзывать обработанный файл (защита_снята).
Так же добавил в функцию выбора файла, атрибут
.AllowMultiSelect = False
Чтобы нельзя было выбрать более одного файла, так как макрос все равно обрабатывает только один файл.
Input past end of file. Может быть что это из-за языка Office?
Возможно, локализация влияет. К сожалению, проверить нет возможности.
По крайней мере, раньше об ошибках в русской локализации офиса 2016 никто не сообщал.
Всё работает.
Это для ленивых и «криворуких».
Я посмотрел макрос — такое можно и самому делать.
Ещё раз Спасибо!!!
Алекс.
Макрос, да, не сложный. Тем более, если человек не знаком с VBA и со структурой хранения файлов в Excel (в т.ч. схемой xml), то упрощает работу.
Function GetFilePath(Optional ByVal Title As String = «Выберите файл для обработки», Optional ByVal InitialPath As String = «c:\», Optional ByVal FilterDescription As String = «Книги Excel», Optional ByVal FilterExtention As String = "*.xls*") As String
Открыл заблокированный файл книги xlsb и пересохранил его как xlsm. Затем вручную изменил расширение на rar. После чего открыл этот архив, нашел в нем лист sheet, открыл его в блокноте, нашел в его кодах (через Ctrl+F) слово Protect и удалил всю строку <sheetProtection...>. Сохранил открытый в блокноте файл, заменил этим файлом файл в архиве, переименовал расширение rar на xlsm и вуа'ля!
«Данным макросом также успешно можно сбросить пароли с файлов xls и xlsb, если нужные файлы предварительно пересохранить в поддерживаемый макросом формат (xlsx/xlsm).»
Спасибо за хороший макрос.
Немного доработал ваш файл и добавил возможность снятия защиты с VBA кода (если таковой имеется).
После снятия защиты при открытии файла — надо согласиться со всеми предупреждениями, зайти в параметры VBA проекта и вписать свой (любой) пароль — после этого, пароль можно снять окончательно.
Может быть кому-то пригодится:
[ссылка появится после проверки]
Спасибо большое
Мои файлы были в xlsb, пересохранила в xlsx и всё сработало просто идеально. Рада, что нашла вас, до этого пробовала разное, не получалось.
В системном окне пишет:
Run-time erro '62:
Input past end of file.
Максим, почему бы не указать в описании что макрос не предназначен для случаев если пароль установлен на открытие файла.
Вы просто, по всей видимости, не читали.
Как видите, здесь не сказано, что возможно снять пароль, установленный на открытие файла. Раз не сказано, значит, не поддерживается.
Я согласен с вами, что можно было бы описать частые ситуации, в которых данный макрос не работает. Но на это сейчас нет времени. Позже обязательно доработаю этот момент.
У меня был большой файл со множеством листов. Поделила файл на 3 (даже на 2 не помогло). По отдельности с 3 файлов сняла защиту.
Потом слила все 3 книги опять в одну.
Спасибо за макрос!
Спасибо за озвученную проблему и пример кода. Макрос доработал и перевыложил.
при разблокировке файла выдает ошибку Run time '70' и выделяет желтым :oFile.copy FileZip
вчера работала норм, что произошло?
Попробуйте поискать в интернете. Больше к сожалению ничего подсказать не могу.
Ошибку выдает в данной строке кода, если это имеет какое то значение:
Function ReadTXTfile(ByVal filename As String) As String
Dim FSO As Object, ts As Object
Set FSO = CreateObject(«scripting.filesystemobject»)
Set ts = FSO.OpenTextFile(filename, 1, True): ReadTXTfile = ts.ReadAll: ts.Close
Set ts = Nothing: Set FSO = Nothing
End Function
Зашифрованный файл (зашифрована книга, не лист) в формате xls (excel 97-2003) не открывается.