MyTetra Share
Делитесь знаниями!
Как защитить проект VBA паролем
Время создания: 16.03.2019 23:43
Раздел: Разные закладки - VBA - VBA управление кодами
Запись: xintrea/mytetra_db_adgaver_new/master/base/1514994858hdf3qugvf0/text.html на raw.githubusercontent.com

Как защитить проект VBA паролем

Для тех кто уже освоился более-менее в программировании на Visual Basic for Application рано или поздно непременно встает вопрос: как защитить свой код от изменений или даже от просмотра? Как правило это делается в файлах, которые в дальнейшем "гуляют по рукам". Т.е. автор создал и потом файл отсылается или другим пользователям, или клиентам, поставщикам и т.п. Чтобы у тех, кто будет в дальнейшем работать с этим файлом, не было возможности подсмотреть проект и тем более что-то в нем изменить. В каких-то случаях цель такой защиты это защита "от дурака": чтобы по незнанию не изменили так, что файл просто откажется работать. Так же есть и другая причина - код является "коммерческим" и в нем присутствует некая защита от использования функционала по истечению ДЕМО-периода и надо закрыть код, чтобы эту защиту не "сломали".
По сути защитить проект VBA стандартными средствами совсем не сложно. Переходим в проект VBA (
Alt+F11), далее:

  1. Tools -VBAProject Properties -вкладка Protection;
  2. устанавливаем галочку "Lock project for viewing". Если галочка не установлена, то весь код можно будет просматривать и изменять, но изменить или просмотреть свойства самого проекта будет уже невозможно без снятия пароля;
  3. вписываем пароль в полях Password и Confirm password.

Чтобы снять пароль с проекта VBA необходимо перейти в проект VBA (Alt+F11) и:

  1. Tools -VBAProject Properties -вкладка Protection;
  2. снимаем галочку "Lock project for viewing";
  3. удаляем пароль в полях Password и Confirm password

Хочу так же отметить, что пароль от проекта VBA ломается на ура(программ для этого достаточно в сети, перечислять не буду - кому надо сможет найти, а кто не сможет - значит не так уж и надо). Корпорацией Microsoft данный пароль точно не разрабатывался для защиты проекта от несанкционированного взлома и скорее был направлен больше на защиту от дурака. А может дело в том, что сам VBE практически не дорабатывался чуть ли не с самого его создания.
В любом случае, для тех, кто хочет чуть надежнее защитить свой проект VBA лучше использовать для этого сторонние утилиты. Например, очень хорошая программа для рядовых пользователей Protect VBA от eliansoft (
http://www.eliansoft.com ). Данная программа делает недоступным проект VBA. Никаких паролей вводить не надо - проект просто недоступен даже для ввода пароля. Последняя бесплатная версия была 1.6. Сейчас в сети её уже практически не найти в бесплатном варианте, т.к. разработчики убрали её с офф.сайта и постарались убрать отовсюду, видимо. Но т.к. у меня эта программа есть - выкладываю здесь, но скачать можно только после регистрации на сайте (чтобы тот же eliansoft не смог добраться).
Скачать Protect VBA

  Protect_VBA.zip (287,1 KiB, 104 скачиваний)
You do not have permission to download this file.

Как использовать:

  • создаете файл с кодом, сохраняете, закрываете
  • запускаете Protect VBA
  • выбираете файл, проект VBA которого надо защитить
  • нажимаете Protect
  • будет предложено выбрать папку для сохранения защищенного файла. Здесь лучше заранее создать папку для сохранения файла, т.к. программа делает копию оригинального файла и не даст сохранить непосредственно тот же файл. Что к лучшему - ведь должен же у нас остаться файл с открытыми кодами :)
Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования