Форум по VBA, Excel и Word

Справочник по VBA => Некоторые действия в программе "Excel" => Тема начата: Администратор от 24 Июль 2019, 17:38

Название: Excel VBA Макросы: Выполнение (запуск) макроса при открытии эксель-файла.
Отправлено: Администратор от 24 Июль 2019, 17:38
Возможны две ситуации:
1) нужно запускать макрос в каком-то одном эксель-файле;
2) нужно запускать макрос при открытии любого эксель-файла.

В этой теме рассматривается первый случай. Второй случай рассматривается здесь: https://forumvba.ru/index.php?topic=479.msg3007#msg3007

Для этого нужно поместить макрос внутрь эксель-файла.
Теперь при открытии файла возможны две ситуации:
1) при открытии файла будет появляться вверху жёлтая панель "ПРЕДУПРЕЖДЕНИЕ СИСТЕМЫ БЕЗОПАСНОСТИ". В этом случае макрос не будет запущен, пока вы не щёлкните "Включить содержимое";
2) в новых версиях экселя, после открытия файла и включения макроса, при следующих открытиях этого файла может не быть вверху жёлтой панели. В этом случае макрос сразу запустится.

Также нужно учитывать настройки безопасности. Если у вас макрос не запускается, не смотря на то, что нет жёлтой панели, возможно установлены здесь настройки безопасности (описано для "Excel 2016"): Файл - Параметры - Центр управления безопасностью - Параметры центра управления безопасностью... - Параметры макросов.
Чтобы макросы запускались нужно установить любой кружок, кроме первого "Отключить все макросы без уведомления".

Кроме того, чтобы не было жёлтой панели, можно сделать ещё это:
1) можно сделать цифровую подпись. В этом случае у других файлов будет жёлтая панель, а у этого конкретного не будет;
2) можно поместить файл в надёжное расположение.