Как обойти пароль проекта VBA из Excel

40

Мне нужна помощь в восстановлении пароля или обходе пароля в проекте, который был сделан на работе. Автор использовал MS Excel, чтобы сделать проект, и он находится на сервере клиента. Сервер, который мы используем, не имеет доступа к Notepad ++.

user365483
источник
Каран спасибо. Проблема была не в документе Excel, но я не могу просмотреть код, созданный другим сотрудником. Это на VB Ide, что я могу использовать через Excel
user365483
Хорошо, если сама книга Excel не защищена паролем, а внутри находится только проект VBA, см. Ниже.
Каран
Я не могу установить ни одного шестнадцатеричного редактора, и этот файл представляет собой файл .xlsm. Каран мне было бы неплохо, если есть альтернатива
user365483

Ответы:

62

Для старых файлов .XLS:

  1. Открыть файл в любом шестнадцатеричном редакторе

  2. Найдите текст « DPB = » (без кавычек, вы должны найти его чуть выше «[Host Extender Info]»

    1

  3. Измените его на « DPx = », сохраните и закройте файл

    2

  4. Откройте файл в Excel и нажмите Да, если появится следующее предупреждение:

    3

  5. Откройте редактор VBA ( Alt+ F11) и нажмите ОК, когда появится следующее предупреждение:

    4

  6. Щелкните правой кнопкой мыши имя проекта VBA, выберите « Свойства» , перейдите на вкладку « Защита » и удалите существующие пароли, а также снимите флажок « Блокировать проект для просмотра» :

    5

  7. Повторно установите флажок « Блокировать проект для просмотра» и добавьте свой запоминающийся пароль.

  8. ОК, выход, и теперь код VBA доступен!

Для новых файлов .XLSM:

  1. Измените расширение файла на .ZIP

  2. Откройте файл в любом архиваторе, таком как WinRAR или 7-Zip, и вы увидите следующую структуру каталогов:

    6

  3. Перейдите в каталог xl и извлеките vbaProject.bin :

    7

  4. Выполните шаги 1-3 выше ( из раздела « Для старых файлов .XLS » ) с помощью vbaProject.bin

  5. Замените старый файл vbaProject.bin в ZIP-файле новой версией с шестнадцатеричным редактированием.

  6. Измените расширение файла обратно на .XLSM

  7. Выполните шаги 4-7 выше

Каран
источник
Это работает для MS Office 2013 со старыми файлами? У меня сложилось впечатление, что Microsoft исправила это.
Менелаос Бакопулос,
2
Когда я попробовал этот метод в Office 2010 и 2013, он не работал напрямую. Выполнив все шаги, я не смог просмотреть макросы, затем попытался экспортировать макрос как .bas, я мог вытащить макрос и просмотреть его.
Аббас
Это было протестировано с Office 2010 и вот откуда скриншоты. Также для тех, кто не может установить шестнадцатеричный редактор, есть много доступных переносных.
Каран
1
Работает и для файлов .xlam. +1
Жоао Мендес
Я выполнил все шаги, но после нажатия кнопки «ОК» в предупреждении я получил новое приглашение, в котором мои варианты «открыть и восстановить» или «отменить». Если я нажму "Отмена", он закроется если я нажму открыть и исправить его, удалите все макросы. Я использую Excel 2011 для Mac. Кто-нибудь еще сталкивался с этим и есть ли обходной путь?
user658182