Как удалить пароль из проекта VBA?
Как я могу программно удалить (известный) пароль из проекта Excel VBA?
Чтобы быть ясным: я хочу удалить пароль из проекта VBA, а не книгу или любые рабочие листы.
Ответы
Ответ 1
Это простой метод, использующий SendKeys для снятия защиты с проекта VBA. Это приведет вас в проект, поэтому вам придется продолжать использовать SendKeys, чтобы выяснить способ удаления защиты паролем:
http://www.pcreview.co.uk/forums/thread-989191.php
И вот тот, который использует более продвинутый, несколько более надежный метод для снятия защиты. Опять же, он только разблокирует проект VB для вас.
http://www.ozgrid.com/forum/showthread.php?t=13006&page=2
Я не пробовал ни один из методов, но это может сэкономить вам некоторое время, если это то, что вам нужно сделать...
Ответ 2
Другой способ удаления пароля проекта VBA:
- Откройте файл xls с шестнадцатеричным редактором.
(т.е. Hex Edit http://www.hexedit.com/)
- Поиск DPB
- Замените DPB на DPx
- Сохранить файл.
- Откройте файл в Excel.
- Нажмите "Да", если появится окно с сообщениями.
- Установить новый пароль из VBA Project Properties.
- Закройте и снова откройте файл, затем введите новый пароль для снятия защиты.
UPDATE: Для Excel 2010 (работает для MS Office Pro Plus 2010 [14.0.6023.1000 64 бит]),
- Откройте файл XLSX с помощью 7zip
Если рабочая книга защищена:
- Найдите папку
xl
- Если рабочая книга защищена, щелкните правой кнопкой мыши
workbook.xml
и выберите Изменить
- Найдите часть
<workbookProtection workbookPassword="XXXX" lockStructure="1"/>
(XXXX
- ваш зашифрованный пароль)
- Удалите часть
XXXX
. (т.е. <workbookProtection workbookPassword="" lockStructure="1"/>
)
- Сохраните файл.
- Когда 7zip просит вас обновить архив, скажите Да.
- Закрыть 7zip и снова открыть XLSX.
- Нажмите Защитить книгу на вкладке Обзор.
- Дополнительно: сохраните файл.
Если рабочие листы защищены:
- Перейдите в папку
xl/worksheets/
.
- Щелкните правой кнопкой мыши
Sheet1.xml
, sheet2.xml
и т.д. и выберите Изменить.
- Найдите часть
<sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />
- Удалить зашифрованный пароль (т.е.
<sheetProtection password="" sheet="1" objects="1" scenarios="1" />
)
- Сохраните файл.
- Когда 7zip просит вас обновить архив, скажите Да.
- Закрыть 7zip и снова открыть XLSX.
- Нажмите Снять защиту листа на вкладке Обзор.
- Дополнительно: сохраните файл.
Ответ 3
Я нашел здесь здесь, в котором описывается, как установить пароль проекта VBA. Вы должны иметь возможность изменить его, чтобы отключить пароль проекта VBA.
Это не использует SendKeys.
Сообщите мне, если это поможет!
JFV