Я не знаю, будет ли это работать для ваших конкретных обстоятельств, но всякий раз, когда мне нужно запустить макрос через определенные промежутки времени, я устанавливаю макрос на подпрограмме Workbooks_Open, затем вызываю этот файл из пакетного файла и планирую, чтопакетный файл с приложением Task Scheduler на моем ПК.
Итак, создайте макрос, который вам нужно запустить, и поместите его в раздел Workbooks (не модуль) в следующем формате:
Sub Workbook_Open()
'your macro goes here
End sub
Затем создайте пакетный файл, который откроет ваш документ Excel.Откройте Блокнот и введите следующий код.Для первой части кода введите путь к файлу Excel.exe.Для второй части кода введите путь к файлу Excel.Если ваш файл Excel находится на сетевом диске, вам нужно будет немного по-другому его найти.
"C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE" "C:\Users\curtis\Dropbox\National Accounts Customer Database\MakeNewLog.xlsm"
Затем сохраните документ «Блокнот» с расширением .bat.Я не могу вспомнить, но вам, возможно, придется изменить переключатель в проводнике, чтобы иметь возможность сделать это (переключатель, который показывает расширения файлов всех ваших значков).
После получения пакетафайл, дважды щелкните по нему, чтобы убедиться, что он работает.Если вы все сделали правильно, командный файл откроет окно CMD, которое вызовет ваш файл Excel.Откроется файл Excel, и ваш макрос автоматически сработает по команде Workbooks_Open.
Теперь просто запланируйте запуск командного файла в планировщике заданий.Перейдите на панель запуска, найдите «Планировщик заданий» и откройте его.Создайте базовое задание, назовите его, выберите «Ежедневно», установите время, выберите «Запустить программу», найдите и выберите свой пакетный файл и нажмите «Готово».
Здесь оно становится немного не элегантным.Вам нужно будет планировать свой пакетный файл снова и снова, чтобы запускать его каждые 30 минут.Возможно, есть лучший способ настроить планировщик заданий, но мне когда-либо нужно было запускать пакетный файл ежедневно, так что это насколько я знаю.
Если ничего другого, надеюсь, это укажет вас направильный путь!