4

Я знаю, что можно защитить паролем всю книгу Excel, но можно ли открыть эту книгу (без пароля), и все же защитить паролем только макрос?

(Я использую Excel 2007.)

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

2 ответа2

3

Чтобы добавить ответ @ music2myear, вы также можете защитить код VBA рабочей книги, чтобы пользователь не мог прочитать его, чтобы получить пароль. В VBE просто щелкните правой кнопкой мыши по проекту, выберите VBAProject Properties и перейдите на вкладку Protection.

2

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

Просто используйте InputBox, чтобы попросить пароль. Если ввод соответствует заданной строке, вы позволяете макросу продолжаться.

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

Эта ссылка показывает, как вы можете использовать этот метод для проверки нескольких возможных паролей и выполнения различных действий на их основе: http://www.ozgrid.com/forum/showthread.php?t=68186&page=1

Эта ссылка показывает, как заменить входной текст звездочками, например, "реальным" паролем: http://www.xcelfiles.com/API_09.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .