Excel VBA - снять пароль с проекта, программно
Модератор: Naeel Maqsudov
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Здравствуйте, уважаемые!
Такой вот вопрос (поиск по форуму ничего не дал), как можно программно снять пароль с проекта VBA?.
Конкретнее:
у нашего уважаемого Джона Уокенбаха есть пример программной замены модуля проекта на новый (пример, на всякий случай, прилагаю). Все получается отлично, но только если код проекта не запаролен. Иначе приходится сначала снимать пароль, а затем уже запускать процедуру, ИМХО теряется вся привлекательность подобной затеи.
Есть мысли?
Спасибо.
Такой вот вопрос (поиск по форуму ничего не дал), как можно программно снять пароль с проекта VBA?.
Конкретнее:
у нашего уважаемого Джона Уокенбаха есть пример программной замены модуля проекта на новый (пример, на всякий случай, прилагаю). Все получается отлично, но только если код проекта не запаролен. Иначе приходится сначала снимать пароль, а затем уже запускать процедуру, ИМХО теряется вся привлекательность подобной затеи.
Есть мысли?
Спасибо.
С помощью Advanced VBA Password Recovery
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Teslenko_EA, спасибо за ссылку, посмотрел. Но все это касается темы снятия "забытого" пароля.
Видимо я не до конца обозначил вопрос.
Предполагается, что код VBA книги UserBook.xls в примере закрыт паролем, я его знаю (напр. 12345) и нужно перед выполнением процедуры замены модуля снять пароль с кода проекта UserBook.xls.
P.S. если код проекта запаролен процедура, естесственно, выдает ошибку.
Видимо я не до конца обозначил вопрос.
Предполагается, что код VBA книги UserBook.xls в примере закрыт паролем, я его знаю (напр. 12345) и нужно перед выполнением процедуры замены модуля снять пароль с кода проекта UserBook.xls.
P.S. если код проекта запаролен процедура, естесственно, выдает ошибку.
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Workbooks.Open Filename:="C:\Книга.xls", Password:="12345"
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
VictorM, попробуйте модифицировать этот пример
http://www.standards.com/Office/SetVBAP ... sword.html
А можно по простому
и sendkey , sendkey 
Ну и эту ветку посмотрите http://www.ozgrid.com/forum/showthread.php?t=13006
http://www.standards.com/Office/SetVBAP ... sword.html
А можно по простому
Код: Выделить всё
Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute

Ну и эту ветку посмотрите http://www.ozgrid.com/forum/showthread.php?t=13006
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Правда мне всегда было непонятно в чём смысл пароля снимаемого десятком програм
за пару секунд ? Уж если люди захотят залезть в код то залезут ....
Для реальной защиты надо использовать или дополнительные утилиты. Я о них
писал уже на этом форуме или компилируемый в DLL COM ADD-IN.
Более серьёзные средства защиты обычно стоят дороже чем защищаемый VBS код
за пару секунд ? Уж если люди захотят залезть в код то залезут ....
Для реальной защиты надо использовать или дополнительные утилиты. Я о них
писал уже на этом форуме или компилируемый в DLL COM ADD-IN.
Более серьёзные средства защиты обычно стоят дороже чем защищаемый VBS код

- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Aent, большое спасибо за ссылки, сейчас обязательно буду пробовать.
А по поводу серьёзности защиты кода программы - абсолютно с Вами согласен. Снимается она за пару секунд :-). Но в данном случае, даже такое простое препятствие отбивает желание у пользователя "посмотреть, а что там внутри" и испоганить работу приложения. Самая обыкновенная "защита от дурака". Ибо нет ничего страшнее чем дурак с иниациативой.
А по поводу серьёзности защиты кода программы - абсолютно с Вами согласен. Снимается она за пару секунд :-). Но в данном случае, даже такое простое препятствие отбивает желание у пользователя "посмотреть, а что там внутри" и испоганить работу приложения. Самая обыкновенная "защита от дурака". Ибо нет ничего страшнее чем дурак с иниациативой.