Обучение Excel для всех
Обучение Excel
БЕЗ ВЫХОДНЫХ

Макросы

Главная » Макросы » Готовые макросы » Работа с книгами Скачать Excel-файл

Защита рабочего листа в книге перед закрытием

Что делает макрос


Этот код запускается событию рабочей книги (BeforeClose- перед закрытием). При нажатии на кнопку закрыть срабатывает событие и запускается макрос. Макрос автоматически защищает указанный лист, а затем сохраняет книгу.

Код макроса

  1. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  2. Sheets("Отчёт").Protect Password:="Akademia_Excel" '1 Защищаем лист с паролем
  3. ActiveWorkbook.Save                                '2 Сохраняем книгу
  4. End Sub

Как работает этот код


  1. На шаге 1 мы явного указания, которые лист мы хотим защитить - Отчёт, в данном случае. Мы также прописываем аргумент Password (пароль): = "Akademia_Excel". Это строка установит пароль для снятия защиты. Password (пароль) - аргумент не является обязательным. Если его не указывать, то лист будет по-прежнему защищен, но снять защиту сможет любой желающий. Кроме того, следует помнить, что пароли Excel чувствительны к регистру, так что вы хотите обратить внимание на заглавные и строчные буквы в пароле.
  2. Шаг 2 мы написали, чтобы сохранить книгу. Если мы не сохраним, то защита не будет действовать при следующем открытии книги.

Как использовать


Для реализации этого макроса, Вам нужно скопировать и вставить его в код события Workbook_BeforeClose. Размещение макроса здесь позволяет запускать макрос непосредственно перед закрытием excel-файла.

1.            Активируйте редактор Visual Basic, нажав ALT + F11.

2.            В окне проекта найдите свой проект/имя рабочей книги и нажмите на знак плюс рядом с ним в чтобы увидеть все листы и модуль ЭтаКнига.

3.            Правой кнопкой мыши нажмите на модуле ЭтаКнига и выберите View Code

4.            В левой части окна выберите объект WorkBook (Excel автоматом предложит написать макрос для события Workbook_Open (можете позже удалить его за ненадобностью)

5.            В правом выпадающем списке свойство BeforeClose

Категория: Работа с книгами
Просмотров: 981
Всего комментариев: 0