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

Так что, предлагаем вам иной способ решить данную задачу. Что вам потребуется? Конечно, во-первых, попасть в редактор Visual Basic. Это делается элементарно: нажатием сочетания клавишь Alt и F11. Потом в левом, самом верхнем, углу, надо найти Project Explorer (либо снова воспользоваться сочетанием горячих клавиш, на этот раз Ctrl и R. А потом туда нужно поместить нижеследующий код
- Private Sub Workbook_Open()
- Worksheets("Лист1").Protect Password:="123", UserInterfaceOnly:=True
- Worksheets("Лист2").EnableOutlining = True
- Worksheets("Лист2").Protect Password:="555", UserInterfaceOnly:=True
- End Sub
То есть, что мы делаем? Первой строчкой мы ставим защиту первого листа, но не для макроса, а для пользователя. А потом также защищаем и второй лист, но оставляем возможность пользоваться группировкой. Данная процедура будет включаться автоматически, как только открывается документ. На все заданные листы защита сразу срабатывает. А параметр UserInterfaceOnly (его команда вводит дополнительно), говорит программе, что защита не распространяется на действия, которые выполняет макрос. Защита касается только действий пользователя. А вторая команда, EnableOutlining, введенная в следующей строчке, позволяет пользователю разворачивать и сворачивать строчки и столбики, т.е. дает возможность пользоваться группировкой. Даже на защищенном листе.
Как
Вы видите, макросы действительно могут облегчить офисную жизнь, ведь вы совершаете в программе Эксель многие и многие действия, чаще всего – одни и те же. Так зачем позволять рутине возобладать над собой?
Читайте также: Из мира операционных систем
- 21/08/2011 18:28 - Координатное выделение в таблице
- 30/07/2011 18:27 - Делим один столбец на несколько – единым махом
- 13/12/2010 17:56 - VBA Excel



Комментарии
Если кто знает то подскажите пожалуйста.
Спасибо.
http://pteachka.ru/video/computer/excel/2869/#comment3694, я
думаю Дмитрий Быстров сможет вам помочь.
RSS лента комментариев этой записи.