Установка и снятие защиты рабочей книги

We use cookies. Read the Privacy and Cookie Policy

Как известно, защитить рабочую книгу от внесения в нее изменений и снять эту защиту можно с помощью соответствующих команд на вкладке Рецензирование в группе Изменения. Однако для этого можно также воспользоваться макросом, в котором содержатся следующие параметры: Password – для задания пароля, Structure – для защиты структуры книги (взаимного расположения рабочих листов) и Windows – для защиты окон книги (например, при использовании данного параметра будет невозможно свернуть или закрыть окно защищенной книги). Следует отметить, что все параметры являются необязательными.

Пример такого макроса приведен в листинге 2.4 (данный код должен быть помещен в модуль рабочего листа).

Листинг 2.4. Защита рабочей книги

Sub Worksheet_BeforeRightClick(ByVal Target As Range, _

Cancel As Boolean)

If Target.Address = «$D$2» Then

' Установка защиты рабочей книги (с паролем «123», _

включенной защитой структуры книги и защитой расположения _ окон)

ThisWorkbook.Protect «123», True, True

' Указание не обрабатывать нажатие кнопки мыши _ в этой

ячейке

Cancel = True

ElseIf Target.Address = «$E$5» Then

' Снятие защиты с книги (необходимо указать ранее установленный _ пароль)

ThisWorkbook.Unprotect «123»

Cancel = True

End If

End Sub

В данном примере включение защиты будет выполняться щелчком правой кнопки мыши на ячейке D2, а снятие защиты – щелчком правой кнопки на ячейке Е5.

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

Листинг 2.5. Запрет печати книги

Sub Workbook_BeforePrint(Cancel As Boolean)

' Установка флага в True заставляет Exсel игнорировать команду _

отправки книги на печать

Cancel = True

End Sub

После выполнения данного макроса перестанут выполняться команды пункта Печать, расположенного в главном меню программы, которое вызывается нажатием Кнопки «Office».