Удаление пароля из проекта VBA

как программно удалить (известный) пароль из проекта Excel VBA?

чтобы быть ясным: я хочу удалить пароль из проекта VBA, а не из книги или каких-либо листов.

4 ответов


Это имеет простой метод с помощью SendKeys для снятия защиты проекта VBA. Это позволит вам войти в проект, поэтому вам придется продолжать использовать SendKeys, чтобы выяснить способ удаления защиты паролем: http://www.pcreview.co.uk/forums/thread-989191.php

и вот один, который использует более продвинутый, несколько более надежный метод для защиты. Опять же, он будет разблокировать только проект VB для вы. http://www.ozgrid.com/forum/showthread.php?t=13006&page=2

Я не пробовал ни один из методов, но это может сэкономить вам время, если это то, что вам нужно сделать...


еще один способ удалить пароль проекта VBA;

    Открыть файл XLS HEX-редактор. (т. Hex Edit http://www.hexedit.com/)
  • Поиск DPB
  • заменить DPB на DPx
  • сохранить файл.
  • открыть файл в Excel.
  • нажмите "Да", если вы получите любое окно сообщения.
  • установить новый пароль из свойств проекта VBA.
  • закройте и снова откройте Файл, затем введите новый пароль для снятия защиты.

обновление: для Excel 2010 (работает для MS Office Pro Plus 2010 [14.0.6023.1000 64bit]),

  • откройте файл XLSX с помощью 7zip

если книга защищена:

  • перейдите в папку xl
  • если книга защищена, щелкните правой кнопкой мыши workbook.xml и выберите редактировать
  • найти часть <workbookProtection workbookPassword="XXXX" lockStructure="1"/> (XXXX - Это ваш зашифрованный пароль)
  • удалить XXXX часть. (т. <workbookProtection workbookPassword="" lockStructure="1"/>)
  • сохраните файл.
  • когда 7zip попросит вас обновить архив, скажите да.
  • закройте 7zip и снова откройте XLSX.
  • клик Защитить Книгу on комментарий tab.
  • дополнительно: сохраните файл.

если листы защищено:

  • обзор .
  • щелкните правой кнопкой мыши Sheet1.xml, sheet2.xml, etc и выберите редактировать.
  • найти часть <sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />
  • удалить зашифрованный пароль (т. е. <sheetProtection password="" sheet="1" objects="1" scenarios="1" />)
  • сохраните файл.
  • когда 7zip попросит вас обновить архив, скажите да.
  • закройте 7zip и снова откройте XLSX.
  • клик снять защиту Лист on комментарий tab.
  • дополнительно: сохраните файл.

Я нашел другой способ решить эту проблему, чтобы избежать пароля проекта VBA, без потери пароля excel.

использовать Hex-редактор XVI32 процесс

Если тип файла XLSM файлы:

  1. откройте файл XLSM с помощью 7-Zip (щелкните правой кнопкой мыши -> 7-Zip -> открыть архив).
  2. скопируйте xl / vbaProject.bin файл из файла (вы можете перетащить из 7-Zip), не закрывайте 7-Zip
  3. откройте vbaProject.файл bin с hexedit выступает
  4. Поиск " DPB= "и заменить его на"DPx="
  5. сохраните файл
  6. скопируйте этот файл обратно в 7-Zip (опять же, перетаскивание работает)
  7. откройте файл XLSX в Excel, если будет предложено "продолжить загрузку проекта", нажмите кнопку Да. При появлении запроса с ошибками нажмите кнопку ОК.
  8. Нажмите Alt+ F11, чтобы открыть редактор VBA.
  9. при нажатии он покажет ошибку " непредвиденная ошибка (40230)", просто нажмите OK (6 или 7 раз), пока он не пойдет прочь.
  10. тогда он откроется автоматически

Я нашел это здесь это описывает, как установить пароль проекта VBA. Вы должны иметь возможность изменить его, чтобы снять пароль проекта VBA.

этот не использует SendKeys.

Дайте мне знать, если это помогает! JFV