Страницы: 1
RSS
Защита макроса
 
Здравствуйте.
Кто знает как программно защитить макрос от просмотра?
Т.е. макросом создаётся книга, в неё внедряется свой код макроса и уже на внедрённый макрос нужно поставить защиту.
 
в сети имеется масса примеров (по сути - модификации одного и того же кода) снятия пароля на проект VBA.
там это реализовано через SendKeys (по другому - никак).
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
1) любая защита легко снимается
2) при любой защите кода, этот самый код можно увидеть, просто открыв файл в OpenOffice
3) стабильно работающего способа установить пароль на VBA из макроса НЕТ

Я бы советовал макросом копировать заранее созданный пустой файл (уже с макросами и защитой),
и в этот файл уже подставлять данные

Файл (шаблон с защищенными макросами) можно хранить внутри вашего файла Excel, как вложение:
http://excelvba.ru/tools/Attachments

PS: А зачем все это надо?
Зачем копировать код во все создаваемые файлы?
 
прикрепление файла к книге... надо разобраться, спасибо за идею!

если коротко: открывается файл, в нём обрабатываются данные, создаётся кнопка и для неё прописывается код
 
Цитата
ikki пишет:
это реализовано через SendKeys (по другому - никак).
Не соглашусь с тем, что никак. Я делал снятие пароля более надежным методом, без SendKeys, через API. Работает стабильно, пока никто не сообщал о косяках. Другой вопрос в том, насколько это востребовано. Не каждый въедет в подобный метод, поэтому по сети и гуляет только метод через SendKeys.
Реализовывал я это в двух своих программах:
-Очистка файлов от формул, скрытых строк, листов и пр.;
-Копирование модулей и форм из одной книги в другую.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
да, я некорректно выразился.
точнее было бы "по-другому не встречал, хотя специально и не ставил себе такую задачу".
сорри.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Страницы: 1
Наверх