Как проводить защиту макросом

Рейтинг пользователей: / 4
ХудшийЛучший 
image070Когда нужна защита проекта макросом? Когда пользователь боится, что некие шаловливые ручки залезут в его таблицу и… ну вы поняли. И чаще всего зашита макросом содержит всего две строчки, содержащие данные – номер листа, включение или отключение защиты и пароль. Но достаточно ли этого?

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

smart_protection

Так что, предлагаем вам иной способ решить данную задачу. Что вам потребуется? Конечно, во-первых, попасть в редактор Visual Basic. Это делается элементарно: нажатием сочетания клавишь Alt и F11. Потом в левом, самом верхнем, углу, надо найти Project Explorer (либо снова воспользоваться сочетанием горячих клавиш, на этот раз Ctrl и R. А потом туда нужно поместить нижеследующий код

  1. Private Sub Workbook_Open()
  2. Worksheets("Лист1").Protect Password:="123", UserInterfaceOnly:=True
  3. Worksheets("Лист2").EnableOutlining = True
  4. Worksheets("Лист2").Protect Password:="555", UserInterfaceOnly:=True
  5. End Sub

То есть, что мы делаем? Первой строчкой мы ставим защиту первого листа, но не для макроса, а для пользователя. А потом также защищаем и второй лист, но оставляем возможность пользоваться группировкой. Данная процедура будет включаться автоматически, как только открывается документ. На все заданные листы защита сразу срабатывает. А параметр UserInterfaceOnly (его команда вводит дополнительно), говорит программе, что защита не распространяется на действия, которые выполняет макрос. Защита касается только действий пользователя. А вторая команда, EnableOutlining, введенная в следующей строчке, позволяет пользователю разворачивать и сворачивать строчки и столбики, т.е. дает возможность пользоваться группировкой. Даже на защищенном листе.

Как

Вы видите, макросы действительно могут облегчить офисную жизнь, ведь вы совершаете в программе Эксель многие и многие действия, чаще всего – одни и те же. Так зачем позволять рутине возобладать над собой?

Читайте также: Из мира операционных систем


 

Комментарии  

 
0 #1 15.02.2012 12:19
Мне нужно чтобы при защищонном листе можно было виполнять груриповку (разгрупировку) .
Если кто знает то подскажите пожалуйста.
Спасибо.
Цитировать
 
 
0 #2 Анна 21.05.2013 06:45
Попробуйте задать этот вопрос на сайте
http://pteachka.ru/video/computer/excel/2869/#comment3694, я
думаю Дмитрий Быстров сможет вам помочь.
Цитировать
 
Войти



Голосование
Какую сумму денег вы готовы потратить на летний отдых?