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

Опубликовано: 8 февраля 2016 / Обновлено: 2 октября 2018
Раздел(ы): Microsoft Office
Просмотры: 114986
Комментарии: 17

Время от времени ко мне попадают файлы 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.

Благодарности

При написании статьи были использованы следующие источники:

  1. http://dplanet.info/kak-snyat-zashhitu-lista-excel/

Обсуждение (комментарии к статье)

  1. В указанной папке перебрал все файлы, не найдя указанной фразы.
    Макрос просто завесил всю систему…

  2. Вау!!! СПАСИБО!!! Я убил полдня, я, чертов бывший программер, забыл собссный чертов пароль (канеш, их у меня более 40, а этому больше 5 лет, но все же). Короче, дружище, жму руку!!!

  3. Добрый День.
    Не находит sheetProtection password=
    Есть только sheetProtection, а пароль не написан
    <sheetProtection formatCells="0" formatColumns="0" formatRows="0" insertColumns="0" insertRows="0" insertHyperlinks="0" deleteColumns="0" deleteRows="0"….
    Подскажите в чем проблема. Благодарю.

  4. не раз выручал макрос, благодарю автора. это один из редких случаев когда оставляю коммент под «левым» сайтом застветив емейл, это о чем-то говорит

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 6 | 0,228 сек. | 13.93 МБ