Vba снять пароль с книги excel

ГЛАВНАЯ

ТРЕНИНГИ

   Быстрый старт
   Расширенный Excel
   Мастер Формул
   Прогнозирование
   Визуализация
   Макросы на VBA

КНИГИ

   Готовые решения
   Мастер Формул
   Скульптор данных

ВИДЕОУРОКИ

ПРИЕМЫ

   Бизнес-анализ
   Выпадающие списки
   Даты и время
   Диаграммы
   Диапазоны
   Дубликаты
   Защита данных
   Интернет, email
   Книги, листы
   Макросы
   Сводные таблицы
   Текст
   Форматирование
   Функции
   Всякое
PLEX

   Коротко
   Подробно
   Версии
   Вопрос-Ответ
   Скачать
   Купить

ПРОЕКТЫ

ОНЛАЙН-КУРСЫ

ФОРУМ

   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's user avatar

braX

11.5k5 gold badges20 silver badges33 bronze badges

asked Nov 7, 2008 at 15:48

Barry-Jon's user avatar

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 Y's user avatar

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:

  1. Rename the .xlsm as .zip (or you can open the .xlsm with 7zip/WinRAR) and open/extract it
  2. Edit the xl/vbaProject.bin file with Notepad++ or HexEdit
  3. Search for DPB= and replace it with DPx=

enter image description here

  1. Save the file
  2. Copy this file back into the .zip (or zip the files back up)
  3. Rename the archive back to .xlsm
  4. 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
  5. Save the file as a new .xlsm file
  6. Open the new file in Excel (should be no errors now)
  7. 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:

  1. 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

  2. Open the vbaProject.bin file with HexEdit

  3. Search for «DPB=» and replace it with «DPx=»

  4. Save the file

  5. Copy this file back into 7-Zip (again, drag and drop works)

  6. 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.

  7. While press it will show error “Unexpected error (40230)”, just click OK (6 or 7 times) until it goes away.

  8. Then it will open Automatically

answered Jan 24, 2018 at 6:15

Thomas's user avatar

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 Fournier's user avatar

Jon FournierJon Fournier

4,2493 gold badges32 silver badges43 bronze badges

3

My 2 cents on Excel 2016:

  1. open the xls file with Notepad++
  2. Search for DPB= and replace it with DPx=
  3. Save the file
  4. Open the file, open the VB Editor, open modules will not work (error 40230)
  5. Save the file as xlsm
  6. It works

answered Aug 25, 2020 at 14:47

Timo's user avatar

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

JFV's user avatar

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.

geisterfurz007's user avatar

answered Sep 12, 2019 at 11:35

Aveesh's user avatar

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» и нажмите «Да» в появившемся запросе.

переименовать xlsx в zip

Шаг 3: Откройте файл Excel с помощью программы 7-Zip. Для этого щелкните по нужному файлу правой кнопкой мыши и в перечне опций выберите «Открыть с помощью» > 7-Zip. После открытия файла Вы увидите несколько файлов и папок.

Вариант 1. Снять Пароль Excel С Помощью 7-ZIP

Шаг 1: Перейдите к папке «xl» и правой кнопкой мыши щелкните по Вашей зашифрованной книге Excel (предположим, она называется «workbook.xml»).

workbook xml

workbook xml edit

Шаг 2: Найдите и удалите тег <workbookProtection.../>, а затем закройте редактор:

workbook xml notepad

Вариант 2. Как Снять Пароль С Excel С Помощью 7-ZIP

Шаг 1: Если на Вашем листе Excel установлен пароль защиты, перейдите по пути «xlworksheetssheet1.xml»(предположим, Ваш зашифрованный лист называется sheet1).

open with 7zip

Шаг 2: Выберите «Изменить», после чего файл откроется в приложении «Блокнот» либо ином установленном на Вашем ПК редакторе.

edit Excel

Шаг 3: Удалите тег <sheetProtection … >, чтобы удалить пароль с листа.

delete tag

Наконец, не забудьте снова изменить .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».

open vba

Шаг 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

vba code method

Шаг 4: После вставки кода нажмите «F5» для выхода, появится зпрос, в котором Вам нужно выбрать «ОК», после чего Ваш пароль будет сброшен.

vba unlocked password

Способ 3: Использование PassFab для Excel Чтобы Снять Пароль Excel

Программу PassFab for Excel можно использовать для решения проблем, связанных с забытыми паролями для открытия и редактирования файла Excel. Способ работает практически для всех версий Microsoft Excel. Программа может легко сбросить пароли к файлам Excel благодаря использованию различных режимов атаки на пароль. Сбросу подлежат как пароли книги, так и пароли отдельных ее листов, при этом скорость дешифровки очень высока. Далее Вы можете ознакомиться с руководством по работе с данной программой снять пароль с файла excel.

К слову, ниже Вы можете посмотреть видеоруководство, как восстановить забытый пароль Excel:

Шаг 1: Загрузите, установите и запустите данную программу для восстановления пароля к документам Excel. Затем выберите опцию «Восстановить Excel открытый пароль».

режим выбора

Шаг 2: Вы увидите представленный ниже интерфейс, нажмите на «+», чтобы импортировать лист Excel, пароль для открытия которого Вы хотите восстановить.

Добавьте файл excel, который нужно взломать

Шаг 3: На Ваш выбор будет предложено 3 варианта атаки: Атака по словарю, Атака по маске и Атака грубой силой. Выберите подходящий тип атаки и задайте для него все необходимые настройки, чтобы снять пароль с файла excel.

Примечание: «Атака по словарю» может быть использован, если у Вас уже имеется файл словаря; «Атака по маске» позволяет определить пароль в соответствии с теми элементами пароля, которые Вы помните; «Атака грубой силой» представляет собой подбор всех возможных комбинаций пароля.

Выберите режим атаки

Шаг 4: Нажмите на кнопку «восстановить», после чего будет запущен режим восстановления пароля к файлу Excel, процесс может занять определенное время в зависимости от длины и сложности пароля.

восстановить пароль

Шаг 5: После завершения атаки Ваш пароль будет определен и отображен для Вас во всплывающем окне.

Успешно удалите пароль файла Excel

Как восстановить пароль к документу Excel, если Вы его забыли? Для решения данной проблемы может быть использован вышеописанный способ; воспользуйтесь данной программой, и Вы сможете понять, как снять пароль с excel 2013.

Microsoft Excel — отличный инструмент для хранения данных и не только, многие используют его без установки пароля, а кто-то защищает свои файлы настройками шифрования. Защита с использованием пароля позволяет предотвратить внесение нежелательных изменений и случайное удаление содержимого. Если Вы забудете Ваш пароль к файлу Excel, то не сможете получить к нему доступ. Однако, используя метод, представленный в этой статье: PassFab for Excel, вы можете быстро и легко удалить пароль из Excel.

Понравилась статья? Поделить с друзьями:
  • Vba скрипты для word
  • Vba скрипты для excel что это
  • Vba скрипт для excel
  • Vba скопировать строку word
  • Vba скопировать область excel