Запуск заданий по расписанию в Windows


Краткое описание

В статье рассказывается о возможностях и способах применения стандартного планировщика Windows в связке с преднастроенными макросами и файлами Excel.


Подробное описание

Иногда бывает необходимо, чтобы компьютер выполнял определенные действия без вашего участия. Например, раз в сутки копировался какой-то файл, что-то удалялось, проверялось, запускался некий exe-файл, отправлялись письма, всплывали уведомления и тп. Можно было бы написать vba-макрос, который бы все это делал (макрос для Outlook, Excel и тп). Но чтобы такой макрос работал, нужно держать открытым тот же Outlook, Excel и тд.

Есть решение гораздо проще и удобнее - стандартный планировщик заданий Windows.

1. Открываете планировщик:


Запуск планировщика Windows

2. Нажимаете "Создать простую задачу":


Создание задачи для планировщика

3. Вводите необходимые параметры (имя задания, время, частота и периодичность запуска и некоторые др.) и указываете, что нужно сделать:


Установка параметров планировщика

Если выбрать пункт "Запустить программу", то на следующем шаге вам будет предложено выбрать, какую программу или сценарий вы хотите запустить. Кроме того, вы также можете указать дополнительные аргументы запуска:


Выбор программы или сценария для запуска

Именно пункт "Запустить программу" дает нам очень много свободы действий, ведь в качестве скрипта или программы может быть все, что угодно: vbs/cmd скрипт, excel файл, любое другое приложение. Плюс, можно задать дополнительные параметры (аргументы) запуска.

И что важно, наша операционная система сама будет отслеживать время и необходимость запуска без дополнительных усилий с нашей стороны. Требование одно - должен быть включен компьютер. Если наступило время выполнения задачи, а ПК выключен, то задача будет исполнена, когда компьютер заработает (этот пункт можно настроить: либо игнорировать пропущенную задачу, либо запускать после включения ПК).

Вот такая вроде простая, но многими не востребованная вещь.

Для продвинутых пользователей есть возможность настройки планировщика из командной строки. Кстати, настройка из командной строки может быть очень полезна, когда вы, например, выполняете какой-то макрос в экселе и вам требуется выполнить ряд отложенных действий, а потом снова запустить макрос на продолжение, но уже со следующего этапа. С планировщиком это решается очень просто:

  1. макрос выполняет свою первую часть,
  2. завершает первую часть, через командную строку создает отложенное задание и прекращает свою работу (вплоть до закрытия файла excel),
  3. планировщик отслеживает время запуска нужного задания, запускает задание (например, проверка наличия файла в сети),
  4. по окончании проверки запускает следующее задание - запуск нашего исходного макроса, но уже со второго этапа и с полученным значениям статуса выполнения нашего отложенного задания.

И так сколько угодно раз, исходя из настроек вашего макроса и параметров планировщика.

Вернуться к списку примеров

Комментарии ()