Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
ЗАМЕЧАНИЯ. 1. Во 2-й строке функции GetPassword используется встроенная функция LCase, которая преобразует все буквы переданной в нее строки в строчные.
2. Чтобы не отображать символы пароля на экране при его вводе, придется сконструировать форму с текстовым полем. Подробнее см. пример создания формы для ввода пароля на с. 141.
В программе IfThenElseIf ключевое слово Elself с последующим условием используется дважды. Новое условие вносит в порядок выполнения команд дополнительные изменения, если проверка первого условия закончилась неудачей. Первое условие указано сразу за ключевым словом If. В нем проверяется равенство переменной Password строке "level1". Если переменная не равна строке, VBA переходит к первому ключевому слову Elself, где проверяет следующее условие – равенство переменной Password строке "level2". Начиная с этого момента, программа использует только новое условие, «забывая» о старом. Если равенства опять нет, управление переходит к следующему ключевому слову Elself и т.д.
Просматривая IfThenElseIf, вы, вероятно, обратили внимание на несколько интересных моментов. В блоке, начинающемся сразу за ключевым словом If, помещен цикл For-Each-Next. В этом цикле перебираются все листы активной рабочей книги, с каждой из которых выполняются два действия: свойству Visible присваивается значение и вызывается метод Unprotect. Первое действие позволяет пользователю выделить лист, второе снимает с листа защиту паролем. У метода Unprotect есть один аргумент – строка с паролем. Но в данном случае пароль для защиты листов мы не использовали, поэтому Unprotect вызван без аргументов. В других блоках программы свойство Visible и метод Unprotect вызываются выборочно, в зависимости от введенного пароля.
Дата публикования: 2014-11-26; Прочитано: 163 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!