Лучший способ защитить код Excel VBA?

Я собрал простую базу данных Excel, которая выполняет несколько макрофункций, и мне нужно распространять эту базу данных нескольким людям, но они не могут видеть, как работает макрофункция (глупые правила, которые я должен соблюдать!). Каков наилучший способ достичь этого?

Я провел несколько исследований, и я нашел два пути:

  • Пароль защищает проект VBA; но это, по-видимому, очень легко сломать, используя доступные инструменты онлайн (это было бы в лучшем случае для людей, которых я отправляю, чтобы узнать, как работают макросы и функции, поэтому я почти на 100% уверен, что они попытаются чтобы войти в него.. следовательно, защита паролем кажется недостаточной.

  • Перейдите на полностью скомпилированный язык, например С++; мои навыки очень ограничены VBA в Excel и Access, поэтому это идеальное решение; для меня не является решением: (

Есть ли другие способы? Я подумал о том, что у меня есть документ "master excel" со ​​всеми макросами, а затем отправить "дочерние" базы данных конечным пользователям и подключить базы данных "дети" к "хозяину" - что-то вроде этого возможно? Принимая хозяина в режиме онлайн или даже отправляя конечным пользователям мастер, но делая его полностью недоступным, если только он не доступен базами данных "детей"?

Ответ 1

Вы можете создать Automation Add In.

Автоматизация Add In предоставляет несколько преимуществ

  • Скорость выполнения: автоматическое добавление в , написанное на VB6, скомпилировано для собственный машинный код, который работает намного быстрее, чем интерпретируемый VBA Languange.

  • Безопасность. В отличие от добавления XLA, вы никогда не распространяете исходный код на конечных пользователей. Если у вашего кода есть собственная информация или ценность интеллектуальной собственности, которая остается надежно защищенной на вашем собственный компьютер. Он никогда не распространяется на пользователя. Ваш код может никогда не подвергаться риску.

http://www.cpearson.com/excel/automationaddins.aspx