Как только вы предоставляете физическим пользователям доступ к ПК, вы не можете гарантировать, что ваша безопасность не будет побеждена. Вся индустрия даже говорит так:
Если плохой парень имеет неограниченный физический доступ к вашему компьютеру, это не ваш компьютер
Защита паролем в лучшем случае является сдерживающим фактором. Если ваши пользователи уже обходят защиту, то вы ничего не можете сделать, чтобы полностью заблокировать их от VBA, кроме удаления VBA в целом.
Возможно установить Office без возможностей VBA, но тогда вы не можете запускать какие-либо макросы, так что вы, вероятно, потеряете больше, чем сможете, блокируя его.
Вы можете попробовать запутать свой код, но это не помешает пользователям писать больше своих собственных.
Однако вы можете использовать управляемые надстройки и VSTO, посредством чего код перемещается из книг Excel и модулей VBA и в источник .NET. Эти сборки развертываются и/или устанавливаются и не могут быть легко изменены пользователями.
Большинство регулирующих органов, с которыми я работал, знают об ограничениях защиты VBA и пароля, но они также знают о преимуществах бизнеса, позволяющих пользователям работать с функциями, предоставляемыми Excel и VBA. Они обычно придерживались мнения, что до тех пор, пока вы выполнили разумные пароли и защиты, любая обход этих защит выходит за рамки возможностей обычного пользователя.
Вы должны установить разумную защиту на месте, а также распространять и применять надежные политики и процедуры. Да, вы получите людей, которые нарушают политику, но у вас будет четкое дело, если регуляторы будут подвергать сомнению ваши подходы.
С другой стороны, вместо того, чтобы предполагать, что некоторые из ваших «экспертов» вредны, возможно, организуйте серию сеансов, чтобы обсудить, как можно улучшить ситуацию. Вы никогда не знаете, у них могут быть реальные оптимизации, которые уменьшают ваши затраты и/или улучшают вашу производительность и отказоустойчивость.
переместить ваши проекты в решения VSTO или скомпилированные функции DLL –
Меморандум, информирующий их о последствиях нарушения политики безопасности компании, особенно если они используют методы для обхода встроенных функций защиты, будет одним из способов. –
@KazimierzJawor Спасибо за ваш вклад. Очень полезно. Я возьму их под советом – Clauric