Member 10530881 Ответов: 2

Как запланировать запуск макроса при выключенном компьютере?


Привет,
У меня есть макрос, который я написал, который обновляет 13 отдельных файлов. Общее время обновления составляет 6 часов, что блокирует мой excel в течение этого времени. В идеале я хотел бы запланировать запуск макроса в нерабочее время, когда мой компьютер выключен, чтобы освободить свой excel в рабочее время.
Мы будем очень признательны за любую помощь.
Спасибо,

Ron Beyer

Как вы ожидаете, что макрос будет работать, если ваш компьютер выключен? Если ваш BIOS поддерживает таймер пробуждения, вы можете использовать его для пробуждения вашего компьютера, но в остальном я не думаю, что это сработает.

Sergey Alexandrovich Kryukov

Это аппаратная проблема. Ваша задача - писать код, когда компьютер выключен. :-)
—СА

Ron Beyer

Можете ли вы представить себе экономию энергии в мире, если бы мы могли запускать задачи, когда компьютер выключен? Я начну с патента...

Sergey Alexandrovich Kryukov

Ах, отличная мысль! Конечно. Это будет даже лучше, чем даже та хорошо известная власть над IP.
—СА

PIEBALDconsult

Запустить его на другом компьютере?

Member 10530881

Это не то, что я имел в виду. Я новичок в написании кода и скучаю по используемой терминологии. Я хочу, чтобы мой ноутбук был переведен в спящий режим или в режим гибернации, но у меня есть письменный код, который автоматически запускает макрос в нерабочее время, так что обновления завершаются в течение ночи, учитывая время обновления.

2 Ответов

Рейтинг:
2

Member 14016152

Создайте новую книгу с макросом, который запускается после открытия книги:

Частная Суб Workbook_open Используется()
- вставьте свой код сюда.
Конец Подводной Лодки

используйте "планировщик задач" и создайте задачу, которая открывает эту книгу в нужное время.
- на вкладке "условия" задачи будет установлен флажок "разбудить компьютер для выполнения этой задачи". Убедитесь, что это проверено.

Сделайте это, и я считаю, что код должен работать до тех пор, пока компьютер спит и не полностью выключен. Пожалуйста, дайте мне знать, работает это или нет.
Спасибо! :)

-Кайла


Patrice T

Почти на 5 лет опоздал.
давайте предположим, что решение было найдено раньше.

Рейтинг:
1

Christian Graus

Определение "выключено" означает, что ваш компьютер не работает. Итак, я предполагаю, что это шутка.

Если вы имеете в виду "когда я выхожу из системы", то напишите службу, чтобы сделать это.


Member 10530881

Да, я ищу код для запуска макроса, который я написал, например, когда компьютер находится в спящем режиме или гибернации. Общее время обновления составляет 6+ часов, и я пытаюсь найти способ сделать это вне рабочего времени вместо того, чтобы просыпаться в 2 часа ночи, чтобы запустить макрос. Я новичок в написании кодов и макросов, поэтому любая помощь будет очень признательна.

Member 10530881

Ниже приведен мой код, и в указанное время ничего не происходит.

Суб функция openfile()

Приложение.OnTime TimeValue("9:50:00"), "refreshAll"

Рабочая тетрадь.Открыть Имя Файла:= _
"C:\Users\v-giwhal\Documents\Массовые отчеты об обновлении\FY14 CR CAM квалифицированный отчет о возможностях"

Приложение.Запустите "'FY14 CR CAM Qualified Opportunity Report.xlsb'!refreshAll"
ActiveWorkbook.Сохранить
Активное окно.Закрывать

Конец Подводной Лодки

Christian Graus

Вы читали мой ответ ? Напишите службу. Запланированная задача также может быть использована, на самом деле, это может быть проще.

Member 10530881

Привет Кристиан,
Я не знаю, как написать службу. Ниже приведен мой код. Если я запускаю код, он работает; однако если я оставляю его с оператором OnTime, он не запускается, как только приближается время.

Суб функция openfile()

Приложение.OnTime TimeValue("13:00:00"), "refreshFile()"

Конец Подводной Лодки

Суб refreshFile()

Рабочая тетрадь.Открыть Имя Файла:= _
"C:\Users\v-giwhal\Documents\Массовые отчеты об обновлении\FY14 CR CAM квалифицированный отчет о возможностях"
Приложение.Запустите "'FY14 CR CAM Qualified Opportunity Report.xlsb'!refreshAll"
ActiveWorkbook.Сохранить
Активное окно.Закрывать

Конец Подводной Лодки

Christian Graus

Ладно, у тебя есть два варианта.

1 - прочитайте одну из многочисленных статей о том, как написать сервис
2 - настройте свой сценарий как запланированную задачу

2 проще и, вероятно, будет работать.