Снять защиту с листа excel макрос

Обновлено: 06.07.2024

В случае, если пароль для снятия защиты листа не известен (забыт либо утрачен по другой причине), снять защиту листа Excel можно при помощи надстройки (макроса), если же пароль известен, то защита снимается стандартными средствами Excel. Рассмотрим подробнее способы снятия защиты листа в Excel.

Внимание! Перед тем как приступить к снятию защиты листа Excel, убедитесь, что на вкладке "Правка" в поле "Разрешить изменять файл нескольким пользователям одновременно" снят флажок. Если этот флажок установлен, то кнопки "Защитить лист", "Защитить книгу", "Снять защиту листа", "Снять защиту книги" будут неактивными! Для того, чтобы проверить установлен ли этот флажок необходимо зайти в пункт меню Сервис/Доступ к книге. (если работа ведется в Excel 2003) либо на вкладку "Рецензирование", в группе "Изменения" нажать кнопку "Доступ к книге" (если работа ведется в Excel 2007 или Excel 2010).

Как снять защиту листа в Excel 2003?

Для того чтобы снять защиту листа в Excel 2003 необходимо выбрать пункт меню Сервис/Защита/Снять защиту листа.

как снять защиту листа в Excel 2003

Если при установке защиты листа использовался пароль, то при снятии защиты появится диалоговое окно "Снять защиту листа", предусматривающее ввод пароля для отключения защиты листа. В случае, если пароль введен правильно, защита листа будет снята.

Как снять защиту листа в Excel 2007?

Снятие защиты листа Excel 2007 производится на вкладке «Рецензирование» нажатием кнопки «Снять защиту листа».

как снять защиту листа в Excel 2007

При снятии защиты листа в Excel может появиться диалоговое окно, предусматривающее ввод пароля. Если Вы его знаете, то все хорошо, вводите его и защита снимается.

Как снять защиту листа в Excel 2010?

Снять защиту листа Excel в этой версии приложения можно аналогично тому, как это делалось в Excel предыдущей версии. Заходим на вкладку "Рецензирование" и в группе "Изменения" нажимаем кнопку "Снять защиту листа".

как снять защиту листа в Excel 2010

При необходимости вводим пароль.

Как снимать защиту всех листов Excel?

Снятие защиты листов может быть утомительным занятием и занимать много времени, если в рабочей книге много защищенных рабочих листов и часто требуется снимать защиту, а затем устанавливать ее заново. Стандартной возможности, позволяющей снимать и устанавливать защиту сразу на все листы рабочей книги в Excel нет. Реализовать такую возможность можно при помощи VBA - встроенного в приложения Microsoft Office языка программирования. Если защита снимается и устанавливается достаточно часто, а рабочие книги, содержат несколько листов, то автоматизировать операцию можно при помощи надстроек для Excel, при этом программа (макрос) пройдет по всем листам рабочей книги и снимет защиту от изменений.

Быстрое снятие защиты со всех листов сразу, либо выборочное снятие защиты только с тех листов рабочей книги, которые указаны пользователем, в случае, когда все пароли известны пользователю можно осуществить при помощи надстройки, диалоговое окно которой показано ниже.

kak snyat zashchitu listov

При помощи кнопки обзора необходимо указать путь к рабочей книге, в столбце "А" которой прописаны имена листов, а в столбце "В" пароли для снятия защиты листов.

Макрос предназначен для программного подбора и снятия защиты с листа Excel.

Подобранный пароль не совпадает с установленным - но, тем не менее, защита снимается.

Аналогичный макрос снимает защиту книги Excel:

Комментарии

Не знаю с чем связано, но иногда макрос подвисает (сам пару раз сталкивался).
Либо отрабатывает менее чем за секунду (и снимает защиту), либо подвисает надолго - видимо, метод Unprotect в каких-то случаях применяется моментально, а в других - какие-то еще действия невидимые вызывает (что занимает в разы больше времени)

Возможно, от версии Excel зависит, но скорее - от конкретного файла Excel, с которого снимается защита
(например, там может запускаться автопересчёт формул при каждой попытке снятия защиты с листа)
Как вариант, - попробуйте отключить автопересчёт формул в файле перед снятием защиты макросом, вдруг поможет.

В любом случае, что есть, то есть. В подавляющем количестве случаев код отрабатывает быстро, и дает нужный результат.
Поскольку я применяю этот макрос примерно раз в год, что-то оптимизировать в коде планов нет.

Кроме того, можете добавить строку кода
DoEvents
после строки
If Err Then
тогда подвисания не будет (но макрос по прежнему будет работать либо очень быстро и результативно, либо долго и безрезультатно)

Добрый день, несколько лет работало отлично и вот пришли очередные файлы на разбор - и программа зависает на несколько часов и в конце "Не удалось снять защиту книги". Один проход цикла занимает 10 секунд! Эксель 2016, форматы не менялись, вообще вроде бы ничего не изменилось - но больше не работает.

В большинстве случаев, пароль подбирается за 1-2 секунды. Но иногда подвисает, - если больше 5-10 секунд думает, то можно уже не ждать (снимая задачу excel через диспетчер задач)
Видимо, от версии эксель зависит

Создал Макрос предназначен для программного подбора и снятия защиты с листа Excel.
Запустил и зависло причем минут 30 висело и ничего
Версия EXCEL 2016

Огонь, пораздолбал все пароли, сотрудники в шоке, сидят косятся. >:)

Потратил полдня, искал как снять защиту структуры книги от изменений. Перепробовал все что угодно, и вот только здесь наконец таки нашел решение проблемы.
Автору РЕСПЕКТ!!

Добрый день, Николай!

на данной странице макрос для снятия защиты с листов и структуры книги (т.е. защита от добавления или удаления листов в книгу, например). Пароль для открытия книги этим макросом снять нельзя.

Прошу прощения за возможно тупой вопрос, но куда нужно вставить этот макрос?
1) Если в новую книгу - то он ее и пытается взломать (пишет пароль снял)
2) если открываю Excel с паролем на книгу (при открытии МОДАЛЬНОЕ окно), то в код этой книги встроить код не получается (все не активно, пока активно окно "Введите пароль").

Спасибо большое, очень помогла эта программка

В Excel 2016 всё работает аналогично, зависать не должно

К сожалению, в 16 Excele тоже намертво зависает и не взламывает. Видимо сделали заплатку.

Перебирайте листы в цикле, внутри цикла активируйте каждый лист, и вызывайте приведенный в статье макрос.
Если сами не справитесь, - можем сделать под заказ (платно)

А не подскажете, пожалуйста, макрос, который будет снимать защиту с 3 листов.. только при условии что на 1 листе один пароль, а на 2 и 3 - другой. Что то не очень получается все правильно сделать:/

Макрос для снятия защиты со всех листов, если пароль одинаковый - знаю. а вот если такая ситуация. не щелкать же каждый лист отдельно(((

Офигеть. Ума не приложу как это работает, но блин работает. Огромное спасибо.

Как снять защиту листа программно?
Нужно срочно изменить формулу на защищенном листе, но пароль где то потерялся, выручте пожалуйста.

Программно снять защиту с листа чтобы добавить строку
Добрый день! Есть макрос на добавление строки: Sub add_row() Rows(ActiveCell.Row).Insert.

Как снять защиту листа на нажатие уровня структуры
Есть такая проблемка, к сожалению не знаю как ее решить. Может кто знает.

Можно ли программно ставить и снимать защиту с VBA проекта в Excel, Access?
Помогите, пожалуйста, можно ли программно ставить и снимать защиту с VBA проекта в Excel, Access.

igleb75, привет ! в моей надстройке после выходных будет данный инструмент удалить пароли vba и excel Спасибо Вам за информацию, буду ждать Вашей надстройки.

igleb75, попробуйте старым инструментом пока я может сегодня или завтра выложу новый

Сегодня у меня весь день на пробы по данному занятию.

Добавлено через 2 часа 18 минут
Пробовал два этих макроса

Добавлено через 3 минуты
Пробовал надстройку MulTExplex и тоже безрезультатно. Голову уже сломал. Надо просто очень этот Excel файл открыть.

igleb75,
Если файл не секретный,
может выложите.

igleb75, Привет обновил надстройку можешь скачивать, снимает пароли со всех версий Excel

используйте снять пароли удалить XML

Сколько по времени он может или должен снимать пароль с листа?

igleb75, привет!
должно быстро быть

вы используете снять пароли удалить XML
потому что другой инструмент с 2016 excel не снимет пароль

А если там нет xml ?

''''''''''''''''''
Решил всё-таки взглянуть на этот "инструмент", хотя оно мне и не надо.

Получил вот это (см.скрин). Охота "взглянуть" пропала.

SoftIce, привет! проблема) у меня не возникает такой ошибки, сейчас попробую заменить файл проверите ?
не пойму что случилось

если нет XML это может быть с файлом формата *.xlsb, тогда нужно его сохранить в другом формате в теории

Добавлено через 1 минуту
на почту можно будет скинуть ? для оперативности

Добавлено через 8 минут
все не надо, но БОЛЬШОЕ ВАМ спасибо!)

Добавлено через 8 минут
Обновил)! проверте)

igleb75, нет, там нет XLM, но вы можете сохранить файл как xlsm, после удаления паролей можно пересохранить обратно

igleb75, я сейчас файл надстройки обновил раньше был не рабочий файл

Добавлено через 1 минуту
у вас нет проблем с файлом ?

Нет он нормально открывается, работает но есть ограничения и стоит защита листа. Переименовал в xml и запустил. Теперь жду результата уже минут 7 как висит, думает наверно.

VBA Excel печать листа
На листе ActiveSheet определены сквозные строки "$1:$2" для печати на каждой странице.

Excel VBA: Копирование листа из другой книги
Снова здравствуйте! Пытаюсь скопировать лист из одной книги в другую Private Sub Load_Click() .


Отображение целого листа Excel в форме vba
Все привет. Сразу оговорюсь, я не профи в vba, так, балуюсь с кодами которые нашел на форумах. .


Несколько способов сделать это, а вы уже выберите наиболее удобный и подходящий для себя.

Самый простой

Качаете один из файлов:

Данный скрипт в своём роде встраивается в Excel. При его открытии Excel предупреждает Вас о том, что макрос запускается, не стесняемся и смело запускаем его. Дальше открываем файл, в котором нужно сломать пароль. В верхней панели появится вкладка Straxx, жмём на неё. Там у нас появляются 2 иконки, при нажатии на которые Вы сможете снять защиту либо с листа, либо со всей книги.
С помощью архиватора и блокнота.

Как снять защиту листа Excel

Второй момент, если файл создан в старой версии программы и имеет расширение .xls, то такой фокус с ним не пройдет. Сначала его нужно пересохранить в .xlsx. Для этого открываем файл в Excel, нажимаем сохранить как и в строке «Тип файла» выбираем «Книга Excel (*.xlsx)».

Как снять защиту листа Excel

Теперь новоиспеченный архив открываем любым архиватором, например бесплатным 7-Zip, и находим и открываем следующий файл: «вашфайл.zip/xl/worksheets/sheet1.xml».

Как снять защиту листа Excel

Открыть его можно стандартным блокнотом Windows. Теперь в тексте ищем «sheetProtection», не забываем про Ctrl+F=).

Как снять защиту листа Excel

Блок, который нам нужен, должен выглядеть примерно вот так:

Как снять защиту листа Excel

Удаляем его полностью. Затем сохраняем все изменения, меняем расширение нашего файла обратно в .xlsx, открываем в Exel и защиты как и не бывало.
В последних релизах Офиса (начиная с десятого) удаление всего блока ведет к блокировке листа в результате ошибки и попытке восстановления, в результате чего происходит потеря данных. Решается так: удаляется не весь блок, а только значение переменной password, причем кавычки оставляем password="" , затем открываем лист и просто снимаем защиту листа без пароля.

Количество файлов sheet.xml будет соответствовать количеству листов в вашем документе: sheet1.xml, sheet2.xml, sheet3.xml и так далее, и каждый может быть запаролен.

Снимаем защиту с помощью макроса.

Для начала зайдем в параметры Excel и включим вкладку «Разработчик».

Как снять защиту листа Excel

Переходим во вкладку «Разработчик», нажимаем кнопку «Макрос» (Alt+F8), вводим название макроса, имя может быть любым и жмем создать.

Как снять защиту листа Excel

Должно открыться вот такое окно:

Как снять защиту листа Excel

В появившееся окно копируем следующий код:

Sub Password_Cracker()
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

Закрываем, и опять во вкладке «Разработчик», нажимаем кнопку «Макрос» (Alt+F8), выбираем наш макрос и на этот раз нажимаем выполнить.

Как снять защиту листа Excel

Ждем, в моем случае 29.5 секунд, все, защита снята.

с помощью OpenOffice

OpenOffice — это бесплатный пакет офисных приложений. Открываем наш многострадальный файл в OpenOffice, заходим Сервис→Защита документа и нажимаем на «Лист», и это все манипуляции=).

Читайте также: