Найти в Дзене
VBA Excel с нуля

VBA Excel № 83. Событие Open.

Одним из широко используемых событий является процедура, срабатывающая при открытии книги - событие "Открытие книги" (Open) объекта Workbook. При возникновении этого события выполняется процедура Workbook_Open, предоставляя возможность для выполнения различных действий. Эти действия могут варьироваться в зависимости от потребностей: Важно отметить, что, если пользователь удерживает клавишу <Shift> при открытии книги, процедура Workbook_Open не вызывается. Также она не срабатывает, если макросы в книге отключены. Ниже на скриншоте приведен пример переработанной процедуры Workbook_Open, который использует функцию Weekday для определения текущего дня недели. Если сегодня вторник (Tuesday), появляется окно сообщения, напоминающее пользователю о необходимости регулярного резервного копирования файлов. В противном случае никакие дополнительные действия не выполняются. Когда писал статью был вторник, поэтому выбрал этот день.
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Одним из широко используемых событий является процедура, срабатывающая при открытии книги - событие "Открытие книги" (Open) объекта Workbook. При возникновении этого события выполняется процедура Workbook_Open, предоставляя возможность для выполнения различных действий. Эти действия могут варьироваться в зависимости от потребностей:

  • Отображение приветственных сообщений.
  • Автоматическое открытие других рабочих книг.
  • Настройка контекстных меню.
  • Активация конкретного листа или ячейки.
  • Проверка определенных условий перед началом работы (например, наличие необходимых надстроек).
  • Установка автоматических средств, таких как определение комбинаций клавиш (см. статью №75).
  • Настройка свойства ScrollArea (область прокрутки) для рабочего листа.
  • Установка защиты UserInterfaceOnly (только интерфейс пользователя) для рабочего листа для управления защищенными листами в коде.
Важно отметить, что, если пользователь удерживает клавишу <Shift> при открытии книги, процедура Workbook_Open не вызывается. Также она не срабатывает, если макросы в книге отключены.

Ниже на скриншоте приведен пример переработанной процедуры Workbook_Open, который использует функцию Weekday для определения текущего дня недели. Если сегодня вторник (Tuesday), появляется окно сообщения, напоминающее пользователю о необходимости регулярного резервного копирования файлов. В противном случае никакие дополнительные действия не выполняются.

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Когда писал статью был вторник, поэтому выбрал этот день.

Скриншот с моего ноутбука
Скриншот с моего ноутбука