Интересная статья? Поделись ей с другими:
Вы видите, макросы действительно могут облегчить офисную жизнь, ведь вы совершаете в программе Эксель многие и многие действия, чаще всего одни и те же. Так зачем позволять рутине возобладать над собой?
То есть, что мы делаем? Первой строчкой мы ставим защиту первого листа, но не для макроса, а для пользователя. А потом также защищаем и второй лист, но оставляем возможность пользоваться группировкой. Данная процедура будет включаться автоматически, как только открывается документ. На все заданные листы защита сразу срабатывает. А параметр UserInterfaceOnly (его команда вводит дополнительно), говорит программе, что защита не распространяется на действия, которые выполняет макрос. Защита касается только действий пользователя. А вторая команда, EnableOutlining, введенная в следующей строчке, позволяет пользователю разворачивать и сворачивать строчки и столбики, т.е. дает возможность пользоваться группировкой. Даже на защищенном листе.
Worksheets("Лист2").Protect Password:="555", UserInterfaceOnly:=True
Worksheets("Лист2").EnableOutlining = True
Worksheets("Лист1").Protect Password:="123", UserInterfaceOnly:=True
Private Sub Workbook_Open()
Так что, предлагаем вам иной способ решить данную задачу. Что вам потребуется? Конечно, во-первых, попасть в редактор Visual Basic. Это делается элементарно: нажатием сочетания клавишь Alt и F11. Потом в левом, самом верхнем, углу, надо найти Project Explorer (либо снова воспользоваться сочетанием горячих клавиш, на этот раз Ctrl и R. А потом туда нужно поместить нижеследующий код
При такой, стандартной защите, автор документа ставит такой макрос, который приходится временно отключать (чтобы сделать те или иные изменения самому), а потом снова включать защиту. Да, техника подобного плана работает, но, согласитесь, это от совершенства далеко. Ну, во-первых, это попросту крайне неудобно. Представьте, сколько подобных конструкций нужно будет ввести в каждый макрос, работающий у вас. А во-вторых, если вдруг выполнение защитного макроса прервется с ошибкой, то все, весь ваш труд (читай, лист), останется полностью без защиты.
Когда нужна защита проекта макросом? Когда пользователь боится, что некие шаловливые ручки залезут в его таблицу и ну вы поняли. И чаще всего зашита макросом содержит всего две строчки, содержащие данные номер листа, включение или отключение защиты и пароль. Но достаточно ли этого?
ХудшийЛучший
Рейтинг пользователей: / 0
06.08.2011 19:33 | Автор: Автор | | |
Как проводить защиту макросом - Хитрости работы с Excel таблицы, функции, формулы, списки, рабочие книги, макросы
Комментариев нет:
Отправить комментарий