[personal profile] texcontem
Периодически на работе возникала потребность снять защиту с файлов в формате docx или xlsx. Например, в таком файле находится форма, которую нужно заполнить и отослать, но файл зачем-то защищен паролем и редактировать его нельзя. Поиски в интернете навели на следующий способ.

Оказывается, файлы docx/xlsx по сути являются контейнером, содержащим в себе множество файлов XML с описанием документа, его содержимого и настроек. С этими файлами и будем работать. Понадобится Total Commander либо программа-архиватор (например, 7-zip).

docx
Открываем контейнер: в Total Commander'е выделяем файл и нажимаем Ctrl+PageDown; при использовании архиватора выделяем файл и просим архиватор его распаковать в отдельную папку. Если вдруг архиватор «не понимает», что перед ним архив — смените расширение файла на, скажем, zip.

В полученном наборе файлов и каталогов переходим в каталог word и находим файл settings.xml. Открываем этот файл в любом текстовым редакторе, например, в Блокноте.
Ищем блок w:documentProtection. Блок этот будет выглядеть примерно так:



Удаляем содержимое блока. Границы блока определяются символами < и >, сочетание символов /> означает конец блока — убедитесь, что не удаляете ничего лишнего. В результате должно остаться лишь



Сохраняем файл settings.xml, закрываем его.

Собираем контейнер заново: в Total Commander'е просто выходим из него, а при использовании архиватора упаковываем наш набор файлов и каталогов в один архив.

Меняем расширение архива на docx. Получаем готовый к работе файл docx без пароля.


xlsx
В файлах xlsx таким способом снимается только защита листа от изменений. Если файл xlsx защищен паролем полностью, способ не сработает.

Открываем контейнер точно так же, как и в случае с docx.

В полученном наборе файлов и каталогов переходим в каталог xl/worksheets/ и смотрим наличие файлов sheet1.xml или sheet2 или что-то вроде того. В одном из них содержится информация о пароле. Каждый файл открываем Блокнотом и ищем блок sheetProtection, выглядеть этот блок будет примерно так:



Найденный блок удаляем. От начала — < до конца />.

Сохраняем наш файл, закрываем его.

Собираем контейнер заново: в Total Commander'е просто выходим из него, а при использовании архиватора упаковываем наш набор файлов и каталогов в один архив.

Меняем расширение архива на xlsx. Получаем готовый к работе файл xlsx без защищенных листов.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

texcontem

February 2022

S M T W T F S
  1 2345
6789101112
13141516171819
20212223 242526
2728     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 29th, 2025 08:38 pm
Powered by Dreamwidth Studios