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

При такой, стандартной защите, автор документа ставит такой макрос, который приходится временно отключать (чтобы сделать те или иные изменения самому), а потом снова включать защиту. Да, техника подобного плана работает, но, согласитесь, это от совершенства далеко. Ну, во-первых, это попросту крайне неудобно. Представьте, сколько подобных конструкций нужно будет ввести в каждый макрос, работающий у вас. А во-вторых, если вдруг выполнение защитного макроса прервется с ошибкой, то все, весь ваш труд (читай, лист), останется полностью без защиты.
Так что, предлагаем вам иной способ решить данную задачу. Что вам потребуется? Конечно, во-первых, попасть в редактор 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 лента комментариев этой записи.