2016-03-03 3 views
4

Я работаю в офисе, где у нас есть несколько любительских экспертов Excel, которые постоянно пытаются «улучшить» (например, ярлык, изменить логику, переписать, чтобы сделать «быстрее») электронные таблицы. Поскольку я работаю в очень отрегулированном мире, где макросы должны быть одобрены компанией, клиенты и регулятор, изменяющие макросы, очень не-нет.Скрыть экран MS VBA в Excel 2010

Одна из проблем заключается в том, что люди имеют возможность войти в код, даже после того, как мы включили защиту паролем, чтобы установить листы только для чтения, а также установить пароль на экране VBA Properties , Пользователи, похоже, могут обойти пароли и войти в основной код без установленных паролей.

Есть ли что-нибудь еще, что можно сделать, чтобы остановить их попадание в код? Идея, о которой шла речь, но я не могу найти ссылку на нее, чтобы предотвратить открытие экрана VBA. Это можно сделать? Любые другие советы были бы с благодарностью приняты.

+1

переместить ваши проекты в решения VSTO или скомпилированные функции DLL –

+4

Меморандум, информирующий их о последствиях нарушения политики безопасности компании, особенно если они используют методы для обхода встроенных функций защиты, будет одним из способов. –

+0

@KazimierzJawor Спасибо за ваш вклад. Очень полезно. Я возьму их под советом – Clauric

ответ

5

Как только вы предоставляете физическим пользователям доступ к ПК, вы не можете гарантировать, что ваша безопасность не будет побеждена. Вся индустрия даже говорит так:

Если плохой парень имеет неограниченный физический доступ к вашему компьютеру, это не ваш компьютер

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

Возможно установить Office без возможностей VBA, но тогда вы не можете запускать какие-либо макросы, так что вы, вероятно, потеряете больше, чем сможете, блокируя его.

Вы можете попробовать запутать свой код, но это не помешает пользователям писать больше своих собственных.

Однако вы можете использовать управляемые надстройки и VSTO, посредством чего код перемещается из книг Excel и модулей VBA и в источник .NET. Эти сборки развертываются и/или устанавливаются и не могут быть легко изменены пользователями.

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

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

С другой стороны, вместо того, чтобы предполагать, что некоторые из ваших «экспертов» вредны, возможно, организуйте серию сеансов, чтобы обсудить, как можно улучшить ситуацию. Вы никогда не знаете, у них могут быть реальные оптимизации, которые уменьшают ваши затраты и/или улучшают вашу производительность и отказоустойчивость.

+0

Спасибо. Очень полезный комментарий. Я должен буду принять это в соответствии с рекомендациями. – Clauric