ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Макрос предназначен для программного подбора и снятия защиты с листа 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
How can I programmatically remove a (known) password from an Excel VBA project?
To be clear: I want to remove the password from the VBA Project, not the workbook or any worksheets.
braX
11.5k5 gold badges20 silver badges33 bronze badges
asked Nov 7, 2008 at 15:48
5
Another way to remove VBA project password is;
- Open xls file with a hex editor.
(ie. Hex Edit http://www.hexedit.com/) - Search for DPB
- Replace DPB to DPx
- Save file.
- Open file in Excel.
- Click «Yes» if you get any message box.
- Set new password from VBA Project Properties.
- Close and open again file, then type your new password to unprotect.
UPDATE: For Excel 2010 (Works for MS Office Pro Plus 2010 [14.0.6023.1000 64bit]),
- Open the XLSX file with 7zip
If workbook is protected:
- Browse the folder
xl
- If the workbook is protected, right click
workbook.xml
and select Edit - Find the portion
<workbookProtection workbookPassword="XXXX" lockStructure="1"/>
(XXXX
is your encrypted password) - Remove
XXXX
part. (ie.<workbookProtection workbookPassword="" lockStructure="1"/>
) - Save the file.
- When 7zip asks you to update the archive, say Yes.
- Close 7zip and re-open your XLSX.
- Click Protect Workbook on Review tab.
- Optional: Save your file.
If worksheets are protected:
- Browse to
xl/worksheets/
folder. - Right click the
Sheet1.xml
,sheet2.xml
, etc and select Edit. - Find the portion
<sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />
- Remove the encrypted password (ie.
<sheetProtection password="" sheet="1" objects="1" scenarios="1" />
) - Save the file.
- When 7zip asks you to update the archive, say Yes.
- Close 7zip and re-open your XLSX.
- Click Unprotect Sheet on Review tab.
- Optional: Save your file.
answered Oct 20, 2011 at 12:23
Uygar YUygar Y
1,9621 gold badge12 silver badges16 bronze badges
11
I found another way to solve this one to avoid password of VBA Project, without losing password.
If the file type is XLSM files:
- Rename the
.xlsm
as.zip
(or you can open the .xlsm with 7zip/WinRAR) and open/extract it - Edit the
xl/vbaProject.bin
file with Notepad++ or HexEdit - Search for
DPB=
and replace it withDPx=
- Save the file
- Copy this file back into the
.zip
(or zip the files back up) - Rename the archive back to
.xlsm
- Open the file in Excel, if prompted to «Continue Loading Project», click Yes. If prompted with errors, click OK. Note: the code may still be blank or corrupted, which we fix in the next step
- Save the file as a new
.xlsm
file - Open the new file in Excel (should be no errors now)
- Press Alt+ F11 to open the VBA editor
or
Follow this Step Also
I found another way to solve this one to avoid password of VBA Project, without losing excel password.
use Hex-editor XVI32 for the process
if the file type is XLSM files:
-
Open the XLSM file with 7-Zip (right click -> 7-Zip -> Open archive). 2. Copy the xl/vbaProject.bin file out of the file (you can drag and drop from 7-Zip), don’t close 7-Zip
-
Open the vbaProject.bin file with HexEdit
-
Search for «DPB=» and replace it with «DPx=»
-
Save the file
-
Copy this file back into 7-Zip (again, drag and drop works)
-
Open the XLSX file in Excel, if prompted to «Continue Loading Project», click Yes. If prompted with errors, click OK. 8. Press Alt+ F11 to open the VBA editor.
-
While press it will show error “Unexpected error (40230)”, just click OK (6 or 7 times) until it goes away.
-
Then it will open Automatically
answered Jan 24, 2018 at 6:15
ThomasThomas
1,42514 silver badges30 bronze badges
3
This has a simple method using SendKeys to unprotect the VBA project. This would get you into the project, so you’d have to continue on using SendKeys to figure out a way to remove the password protection:
http://www.pcreview.co.uk/forums/thread-989191.php
And here’s one that uses a more advanced, somewhat more reliable method for unprotecting. Again, it will only unlock the VB project for you.
http://www.ozgrid.com/forum/showthread.php?t=13006&page=2
I haven’t tried either method, but this may save you some time if it’s what you need to do…
answered Nov 7, 2008 at 16:44
Jon FournierJon Fournier
4,2493 gold badges32 silver badges43 bronze badges
3
My 2 cents on Excel 2016:
- open the
xls
file withNotepad++
- Search for
DPB=
and replace it withDPx=
- Save the file
- Open the file, open the VB Editor, open modules will not work (
error 40230
) - Save the file as xlsm
- It works
answered Aug 25, 2020 at 14:47
TimoTimo
2,8463 gold badges29 silver badges27 bronze badges
I found this here that describes how to set the VBA Project Password. You should be able to modify it to unset the VBA Project Password.
This one does not use SendKeys.
Let me know if this helps!
JFV
answered Nov 7, 2008 at 16:40
JFVJFV
1,8036 gold badges24 silver badges36 bronze badges
After opening xlsm file with 7 zip, extracting vbaproject.bin and in Notepad ++ replacing DpB with DPx and re-saving I got a Lot of vbaproject errors and vba project password was gone but no code/forms.
I right clicked to export and was able to re-import to a new project.
answered Sep 12, 2019 at 11:35
AveeshAveesh
651 gold badge2 silver badges6 bronze badges
1
Макрос снятия защиты книги
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 MsgBox ("Пароль: " & 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, включая как пароль для открытия, так и пароль для редактирования документа.
- Способ 1: Использование Формата ZIP Для Того Чтобы Снять Пароль Excel
- Способ 2: Использование Кода VBA Для Сброса Пароль На Excel
- Способ 3: Использование PassFab для Excel Чтобы Снять Пароль Excel
Способ 1: Использование Формата ZIP Для Того Чтобы Снять Пароль Excel
Данный способ поможет Вам убрать пароль ограничений с любого существующего файла Excel, например Excel 2007 или 2019. Если перед открытием документа появится запрос на ввод пароля, перейдите к Способу 3. Далее представлена инструкция, как снять защиту с книги или листа Excel с помощью формата ZIP:
Шаг 1: Загрузите и установите на Ваш ПК программу 7-Zip. Файлы Excel можно представить в виде архива, поэтому мы можем использовать 7-Zip для редактирования части архива, в качестве альтернативы Вы также можете использовать WinRAR или другие средства сжатия документов, поддерживающие формат ZIP.
Шаг 2: Переименуйте расширение файла с «.xlsx» на «.zip» и нажмите «Да» в появившемся запросе.
Шаг 3: Откройте файл Excel с помощью программы 7-Zip. Для этого щелкните по нужному файлу правой кнопкой мыши и в перечне опций выберите «Открыть с помощью» > 7-Zip. После открытия файла Вы увидите несколько файлов и папок.
Вариант 1. Снять Пароль Excel С Помощью 7-ZIP
Шаг 1: Перейдите к папке «xl» и правой кнопкой мыши щелкните по Вашей зашифрованной книге Excel (предположим, она называется «workbook.xml»).
Шаг 2: Найдите и удалите тег <workbookProtection.../>
, а затем закройте редактор:
Вариант 2. Как Снять Пароль С Excel С Помощью 7-ZIP
Шаг 1: Если на Вашем листе Excel установлен пароль защиты, перейдите по пути «xlworksheetssheet1.xml»(предположим, Ваш зашифрованный лист называется sheet1).
Шаг 2: Выберите «Изменить», после чего файл откроется в приложении «Блокнот» либо ином установленном на Вашем ПК редакторе.
Шаг 3: Удалите тег <sheetProtection … >
, чтобы удалить пароль с листа.
Наконец, не забудьте снова изменить .zip на .xlsx. Теперь откройте файл Excel, и Вы убедитесь, что Ваш пароль успешно удален.
Способ 2: Использование Кода VBA Для Сброса Пароль На Excel
Вы также можете решить проблему забытого пароля Excel, используя код VBA. Данный способ работает с Excel 2010, 2007 и более ранними версиями, для разблокировки файлов более поздних версий потребуется использовать метод полного перебора. Итак, чтобы снять защиту с книги или листа Excel, используя код VBA, выполните следующие действия:
Шаг 1: Откройте зашифрованную книгу в Microsoft Excel как обычный файл. Если перед открытием документа появится запрос на ввод пароля, перейдите к Способу 3.
Шаг 2: Зажмите клавиши «ALT» + «F11», после чего появится интерфейс «Microsoft Visual Basic for Application».
Шаг 3: Нажмите на «Вставка» > «Модуль» и затем скопируйте нижеприведенный код в окно «Модуль», данный код будет использоваться для разблокировки пароль на эксель.
Sub PasswordRecovery()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
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: For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox "One usable password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
Шаг 4: После вставки кода нажмите «F5» для выхода, появится зпрос, в котором Вам нужно выбрать «ОК», после чего Ваш пароль будет сброшен.
Способ 3: Использование PassFab для Excel Чтобы Снять Пароль Excel
Программу PassFab for Excel можно использовать для решения проблем, связанных с забытыми паролями для открытия и редактирования файла Excel. Способ работает практически для всех версий Microsoft Excel. Программа может легко сбросить пароли к файлам Excel благодаря использованию различных режимов атаки на пароль. Сбросу подлежат как пароли книги, так и пароли отдельных ее листов, при этом скорость дешифровки очень высока. Далее Вы можете ознакомиться с руководством по работе с данной программой снять пароль с файла excel.
К слову, ниже Вы можете посмотреть видеоруководство, как восстановить забытый пароль Excel:
Шаг 1: Загрузите, установите и запустите данную программу для восстановления пароля к документам Excel. Затем выберите опцию «Восстановить Excel открытый пароль».
Шаг 2: Вы увидите представленный ниже интерфейс, нажмите на «+», чтобы импортировать лист Excel, пароль для открытия которого Вы хотите восстановить.
Шаг 3: На Ваш выбор будет предложено 3 варианта атаки: Атака по словарю, Атака по маске и Атака грубой силой. Выберите подходящий тип атаки и задайте для него все необходимые настройки, чтобы снять пароль с файла excel.
Примечание: «Атака по словарю» может быть использован, если у Вас уже имеется файл словаря; «Атака по маске» позволяет определить пароль в соответствии с теми элементами пароля, которые Вы помните; «Атака грубой силой» представляет собой подбор всех возможных комбинаций пароля.
Шаг 4: Нажмите на кнопку «восстановить», после чего будет запущен режим восстановления пароля к файлу Excel, процесс может занять определенное время в зависимости от длины и сложности пароля.
Шаг 5: После завершения атаки Ваш пароль будет определен и отображен для Вас во всплывающем окне.
Как восстановить пароль к документу Excel, если Вы его забыли? Для решения данной проблемы может быть использован вышеописанный способ; воспользуйтесь данной программой, и Вы сможете понять, как снять пароль с excel 2013.
Microsoft Excel — отличный инструмент для хранения данных и не только, многие используют его без установки пароля, а кто-то защищает свои файлы настройками шифрования. Защита с использованием пароля позволяет предотвратить внесение нежелательных изменений и случайное удаление содержимого. Если Вы забудете Ваш пароль к файлу Excel, то не сможете получить к нему доступ. Однако, используя метод, представленный в этой статье: PassFab for Excel, вы можете быстро и легко удалить пароль из Excel.