Макрос предназначен для программного подбора и снятия защиты с листа Excel.
Подобранный пароль не совпадает с установленным — но, тем не менее, защита снимается.
Sub Unlock_Excel_Worksheet() t = Timer If UnlockSheet(ActiveSheet) Then MsgBox "Защита снята. Потребовалось времени: " & Format(Timer - t, "0.0 сек.") 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
Аналогичный макрос снимает защиту книги Excel:
Sub Unlock_Excel_Workbook() ' снятие защиты книги Excel t = Timer If UnlockWorkbook(ActiveWorkbook) Then MsgBox "Защита снята. Потребовалось времени: " & Format(Timer - t, "0.0 сек.") Else MsgBox "Не удалось снять защиту книги", vbCritical End If End Sub
Function UnlockWorkbook(ByRef wb As Workbook) 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 wb.Unprotect txt$ & Chr(n) If Err Then Err.Clear Else Debug.Print "Пароль: " & txt$ & Chr(n) UnlockWorkbook = True Exit Function End If Next Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next End Function
В случае, если пароль для снятия защиты листа не известен (забыт либо утрачен по другой причине), снять защиту листа Excel можно при помощи надстройки (макроса), если же пароль известен, то защита снимается стандартными средствами Excel. Рассмотрим подробнее способы снятия защиты листа в Excel.
Внимание! Перед тем как приступить к снятию защиты листа Excel, убедитесь, что на вкладке «Правка» в поле «Разрешить изменять файл нескольким пользователям одновременно» снят флажок. Если этот флажок установлен, то кнопки «Защитить лист», «Защитить книгу», «Снять защиту листа», «Снять защиту книги» будут неактивными! Для того, чтобы проверить установлен ли этот флажок необходимо зайти в пункт меню Сервис/Доступ к книге…(если работа ведется в Excel 2003) либо на вкладку «Рецензирование», в группе «Изменения» нажать кнопку «Доступ к книге» (если работа ведется в Excel 2007 или Excel 2010).
Для того чтобы снять защиту листа в Excel 2003 необходимо выбрать пункт меню Сервис/Защита/Снять защиту листа…
Если при установке защиты листа использовался пароль, то при снятии защиты появится диалоговое окно «Снять защиту листа», предусматривающее ввод пароля для отключения защиты листа. В случае, если пароль введен правильно, защита листа будет снята.
Как снять защиту листа в Excel 2007?
Снятие защиты листа Excel 2007 производится на вкладке «Рецензирование» нажатием кнопки «Снять защиту листа».
При снятии защиты листа в Excel может появиться диалоговое окно, предусматривающее ввод пароля. Если Вы его знаете, то все хорошо, вводите его и защита снимается.
Как снять защиту листа в Excel 2010?
Снять защиту листа Excel в этой версии приложения можно аналогично тому, как это делалось в Excel предыдущей версии. Заходим на вкладку «Рецензирование» и в группе «Изменения» нажимаем кнопку «Снять защиту листа».
При необходимости вводим пароль.
Как снимать защиту всех листов Excel?
Снятие защиты листов может быть утомительным занятием и занимать много времени, если в рабочей книге много защищенных рабочих листов и часто требуется снимать защиту, а затем устанавливать ее заново. Стандартной возможности, позволяющей снимать и устанавливать защиту сразу на все листы рабочей книги в Excel нет. Реализовать такую возможность можно при помощи VBA — встроенного в приложения Microsoft Office языка программирования. Если защита снимается и устанавливается достаточно часто, а рабочие книги, содержат несколько листов, то автоматизировать операцию можно при помощи надстроек для Excel, при этом программа (макрос) пройдет по всем листам рабочей книги и снимет защиту от изменений.
Быстрое снятие защиты со всех листов сразу, либо выборочное снятие защиты только с тех листов рабочей книги, которые указаны пользователем, в случае, когда все пароли известны пользователю можно осуществить при помощи надстройки, диалоговое окно которой показано ниже.
надстройка для быстрого снятия защиты (пароли известны)
При помощи кнопки обзора необходимо указать путь к рабочей книге, в столбце «А» которой прописаны имена листов, а в столбце «В» пароли для снятия защиты листов.
Другие материалы по теме:
Содержание
- Видео инструкция
- Способ 1: Разблокировка книги
- Способ 2: Разблокировка листа
- Способ 3: Снятие защиты через изменение кода файла
- Способ 4: Использование сторонних приложений
- Вопросы и ответы
Установка защиты на файлы Excel – отличный способ обезопасить себя, как от злоумышленников, так и от собственных ошибочных действий. Существует два вида блокировки файла Excel: защита на книгу и защита на лист. Соответственно и алгоритм разблокирования зависит от того, какой способ защиты был выбран.
Урок: Как снять защиту с документа Microsoft Word
Видео инструкция
Способ 1: Разблокировка книги
Прежде всего, выясним, как снять защиту с книги.
- При попытке запустить защищенный файл Excel открывается небольшое окно для ввода кодового слова. Мы не сможем открыть книгу, пока не укажем его. Итак, вводим пароль в соответствующее поле. Жмем на кнопку «OK».
- После этого книга открывается. Если же вы хотите вообще снять защиту, то переходите во вкладку «Файл».
- Перемещаемся в раздел «Сведения». В центральной части окна жмем на кнопку «Защитить книгу». В раскрывающемся меню выбираем пункт «Зашифровать паролем».
- Опять открывается окно с кодовым словом. Просто удаляем пароль из поля ввода и жмем на кнопку «OK»
- Сохраняем изменения файла, перейдя во вкладку «Главная» нажав на кнопку «Сохранить» в виде дискеты в левом верхнем углу окна.
Теперь при открытии книги не нужно будет вводить пароль и она перестанет быть защищенной.
Урок: Как поставить пароль на файл Excel
Способ 2: Разблокировка листа
Кроме того, можно установить пароль на отдельный лист. При этом вы сможете открывать книгу и даже просматривать информацию на заблокированном листе, но изменять в нём ячейки уже не получится. При попытке редактирования появится сообщение в диалоговом окне, информирующее о том, что ячейка защищена от изменений.
Для того, чтобы получить возможность редактирования и полностью снять защиту с листа, придется выполнить ряд действий.
- Переходим во вкладку «Рецензирование». На ленте в блоке инструментов «Изменения» жмем на кнопку «Снять защиту листа».
- Открывается окно, в поле которого нужно ввести установленный пароль. Затем жмем на кнопку «OK».
После этого защита будет снята и пользователь сможет редактировать файл. Чтобы снова защитить лист, придется устанавливать его защиту заново.
Урок: Как защитить ячейку от изменений в Excel
Способ 3: Снятие защиты через изменение кода файла
Но, иногда бывают случаи, когда пользователь зашифровал лист паролем, чтобы случайно не внести в него изменения, а вспомнить шифр не может. Вдвойне огорчает то, что, как правило, кодируются файлы с ценной информацией и утеря пароля к ним может дорого обойтись пользователю. Но, существует выход даже из этого положения. Правда, придется повозиться с кодом документа.
- Если ваш файл имеет расширение xlsx (Книга Excel), то сразу переходите к третьему пункту инструкции. Если же его расширение xls (Книга Excel 97-2003), то его следует перекодировать. К счастью, если зашифрован только лист, а не вся книга, можно открывать документ и сохранять в любом доступном формате. Для этого, переходим во вкладку «Файл» и кликаем по пункту «Сохранить как…».
- Открывается окно сохранения. Обязательно в параметре «Тип файла» устанавливаем значение «Книга Excel» вместо «Книга Excel 97-2003». Жмем на кнопку «OK».
- Книга xlsx по сути является zip-архивом. Нам нужно будет отредактировать один из файлов этого архива. Но для этого сразу нужно будет поменять расширение с xlsx на zip. Переходим с помощью проводника в ту директорию жесткого диска, в которой находится документ. Если расширения файлов не видно, то кликаем по кнопке «Упорядочить» в верхней части окна, в раскрывшемся меню выбираем пункт «Параметры папок и поиска».
- Открывается окно параметров папок. Переходим во вкладку «Вид». Ищем пункт «Скрывать расширения для зарегистрированных типов файлов». Снимаем с него галочку и жмем на кнопку «OK».
- Как видим, после этих действий, если расширения не отображалось, то оно появилось. Кликаем по файлу правой кнопкой мыши и в появившемся контекстном меню выбираем пункт «Переименовать».
- Меняем расширение с xlsx на zip.
- После того, как переименование произведено, Windows воспринимает данный документ, как архив и его можно просто открыть с помощью того же проводника. Делаем двойной щелчок мыши по данному файлу.
- Переходим по адресу:
имя_файла/xl/worksheets/
Файлы с расширением xml в данной директории содержат информацию о листах. Открываем первый из них с помощью любого текстового редактора. Можно воспользоваться для этих целей встроенным Блокнотом Windows, а можно применить и более продвинутую программу, например, Notepad++.
- После того, как программа открылась, набираем на клавиатуре сочетание клавиш Ctrl+F, чем вызываем внутренний поиск приложения. Вбиваем в поисковое окно выражение:
sheetProtection
Ищем его по тексту. Если не находим, то открываем второй файл и т.д. Делаем так до тех пор, пока элемент не будет найден. Если защищено несколько листов Excel, то элемент будет находиться в нескольких файлах.
- После того, как данный элемент обнаружен, удаляем его вместе со всей информацией от открывающего тега до закрывающего. Сохраняем файл и закрываем программу.
- Возвращаемся в директорию расположения архива и опять меняем его расширение с zip на xlsx.
Теперь для редактирования листа Excel не понадобится знание забытого пользователем пароля.
Кроме того, если вы забыли кодовое слово, то блокировку можно снять с помощью специализированных сторонних приложений. При этом можно удалить пароль как с защищенного листа, так и со всего файла. Одним из самых популярных приложений данного направления является Accent OFFICE Password Recovery. Рассмотрим процедуру сброса защиты на примере данной утилиты.
Скачать Accent OFFICE Password Recovery с официального сайта
- Запускаем приложение. Кликаем по пункту меню «Файл». В выпадающем списке выбираем позицию «Открыть». Вместо этих действий также можно просто набрать на клавиатуре сочетание клавиш Ctrl+O.
- Открывается окно поиска файла. С помощью него переходим в ту директорию, где расположена нужная нам книга Excel, к которой утрачен пароль. Выделяем её и жмем на кнопку «Открыть».
- Открывается Мастер восстановления паролей, который сообщает, что файл защищён паролем. Жмем кнопку «Далее».
- Затем открывается меню, в котором предстоит выбрать, по какому сценарию будет производиться снятие защиты. В большинстве случаев наиболее оптимальным вариантом является оставить настройки по умолчанию и только в случае неудачи попробовать их изменить на второй попытке. Жмем на кнопку «Готово».
- Начинается процедура подбора паролей. Она может занять довольно продолжительное время, в зависимости от сложности кодового слова. Динамику процесса можно наблюдать в нижней части окна.
- После того, как перебор данных закончится, высветится окно, в котором будет записан действительный пароль. Вам только останется запустить файл Эксель в обычном режиме и вписать код в соответствующее поле. Сразу вслед за этим таблица Excel будет разблокирована.
Как видим, существует несколько способов снять защиту с документа Эксель. Каким из них воспользоваться пользователь должен выбрать в зависимости от типа блокировки, а также от уровня своих способностей и того, насколько быстро он хочет получить удовлетворительный результат. Способ снятия защиты с помощью текстового редактора быстрее, но требует определенных знаний и усилий. Использование специализированных программ может потребовать значительного количества времени, но зато приложение делает практически все само.
Еще статьи по данной теме:
Помогла ли Вам статья?
Время от времени ко мне попадают файлы Excel страницы которых защищены от изменений. Авторы таким способом пытаются защитить документ от внесения изменений. Если бы у вас был пароль, то вы могли поступить как на рисунке ниже.
Но эта статья для тех у кого пароля нет, а снять защиту с листа Excel очень надо.
Как снять защиту от редактирования с листа книги Excel с помощью офисного пакета программ OpenOffice
Это самый простой способ снятия защиты. Достаточно открыть файл Excel в редакторе таблиц OpenOffice Calc и снять галочку в меню «Сервис -> Защитить документ -> Лист». При этом не нужно вводить никаких паролей и т.д. Да, да — это всё!!! Осталось только сохранить разблокированный файл Excel.
Я так понимаю, что разработчики OpenOffice чихать хотели на защиту, которую придумали в компании MicroSoft. К слову сказать, подобные манипуляции с другим бесплатным пакетом LibreOffice желаемого результата не принесут. То есть при попытке разблокировки у вас запросят пароль, как и в случае использования оригинального MicroSoft Office.
Разблокировка данным способом проводилась с использованием OpenOffice версии 4.1.2 от 28 октября 2015
Как снять защиту от редактирования листа Excel с помощью макроса MicroSoft Office
Будем снимать защиту от редактирования с листов Excel с помощью самой же программы Excel. Для это воспользуемся встроенной поддержкой макросов.
Если у вас нет вкладки для разработчиков, то включите ее в настройках:
Затем выбираем пункт «Макросы» на вкладке для разработчиков:
Вводим название нашего макроса и нажимаем кнопку «Создать»:
В появившемся окне
вставляем следующий код:
Dim t! Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, n As Long Dim i1 As Integer, i2 As Integer, i3 As Integer Dim i4 As Integer, i5 As Integer, i6 As Integer Dim kennwort As String t = Timer On Error GoTo err_ 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 kennwort = 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 ActiveSheet.Unprotect kennwort & Chr(n) MsgBox "Done in " & Format(Timer - t, "0.0 sec") Exit Sub nxt_: Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Exit Sub err_: Resume nxt_ End Sub
У вас должно получиться примерно так:
Закрываем главное окно:
снова нажимаем на вкладке для разработчиков кнопку «Макросы»
и в появившемся окне нажимаем кнопку «Выполнить»
Через некоторое время вы получите уведомление, что все готово:
Осталось только сохранить файл. При этом Excel спросит вас сохранять ли макрос:
Разблокировка данным способом проводилась с помощью MicroSoft Office Excel 2010.
Разблокировка с помощью архиватора и текстового редактора
Это способ для тех, кто хочет знать как защита от редактирования устроена изнутри.
Измените расширение файла XLSX на ZIP.
Если у вас файл в формате XLS, то в начале, чтобы воспользоваться этим способом, сохраните его в XLSX.
Откройте файл в архиваторе, я буду использовать бесплатный BandZip.
Распакуйте необходимый лист из книги Excel используя путь в архиве «xl -> worksheets».
Откройте полученный файл, к примеру sheet1.xml в любом текстовом редакторе, можно даже в блокноте.
Найдите в тексте секцию <sheetProtection password= и удалите её полностью до закрывающей скобки. Сохраните изменения и переместите файл обратно в архив.
Измените расширение архива на XLSX. Теперь вы можете свободно редактировать этот файл в MicroSoft Office Excel. Если листов с защитой от редактирования в книге Excel много, по описанную процедуру нужно проделать с каждым из них.
Выводы о защите от редактирования листов книги Excel
Защита слабенькая. Обходится просто. Я проверил все три способа, все они рабочие. На мой взгляд самый удобный — это использовать OpenOffice. Правда у него есть особенность, Open Office не умеет сохранять файлы в формате XLSX, только в более старом формате XLS.
Благодарности
При написании статьи были использованы следующие источники:
- http://dplanet.info/kak-snyat-zashhitu-lista-excel/
Довольно часто возникают ситуации, когда пользователи ставят пароль на excel книгу/лист, а потом благополучно его забывают. Ниже приведены несколько способов сбросить пароль с книги/листа excel.
Способ 1. (быстрый) Excel Password Remover. (Скачать для 97/2000/XP/2003) (Скачать для 2007/2010).
К сожалению, начиная с 2016 года автор надстройки просит денег за новые версии. Чтобы работали старые, дата на компе должна быть 2015 года или раньше.
Открываем скачанный файл в excel или добавляем надстройку через меню Сервис -> Надстройки… -> Обзор… Открываем защищенные паролем лист/книгу и сбрасываем пароль через меню Сервис -> Unprotect sheet/Unprotect workbook.
Способ 2. (медленный, но не требующий надстроек) Только для файлов xlsx!
Меняем расширение .xlsx на .zip. Открываем файл .zip проводником (с архиватором могут возникнуть проблемы), и ищем файл *.zip/xl/worksheets/sheetN.xml, где N — номер листа с паролем.Открываем файл блокнотом, поиском по тексту ищем «pass», удаляем весь контейнер «sheetProtection» от «<» до «>» (скобки включительно). Сохраняем и меняем расширение обратно на xlsx.
Способ 3. OpenOffice.
Открываем файл в OpenOffice, идем в меню Сервис -> Защитить документ -> Защита листа, убираем галочку.
Способ 4. Онлайн-сервисы.
Перейти