1

Я использую планировщик заданий Windows для перезапуска MS Excel, когда он падает, через триггер событий, который запускает сценарий VBS (https://stackoverflow.com/questions/18504067/how-to-automate-the-forced-closure-of -excel-follow-a-restart/18654283 # 18654283).

И Excel, и мой длительный макрос успешно перезапускаются при возникновении события триггера. Тем не менее, проблема у меня в том, что Excel начинается в фоновом режиме.

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

Если я запускаю скрипт vbs вручную (т.е. двойной щелчок при входе в систему), то Excel запускается на переднем плане.

Я установил планировщик задач для запуска задачи от имени администратора и запуска независимо от того, вошел ли пользователь в систему или нет. Есть ли какие-то другие настройки, о которых я должен знать, которые относятся к запуску Excel на переднем плане из запланированного задания?

Я использую Windows Server 2008R2 и Excel 2010.

Спасибо юг

Добавлено: Чтобы было ясно, разница в поведении заключается в том, запускается ли скрипт диспетчером задач или выполняется вручную (мой удаленный вход в систему или нет) не имеет значения. Когда диспетчер задач запускает скрипт, он начинает работать как скрытый).

2 ответа2

1

Когда Excel запускается из планировщика задач, он всегда скрыт как процесс, потому что он запускается из службы, тогда как когда вы запускаете его вручную, это не так.

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

Если вы не знакомы с пакетными файлами, просто гуглите «.bat batch как создать», и там для вас есть множество информации.

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

Надеюсь это поможет!

0

В Excel VBA в начале долгосрочного макроса вставьте эту команду:

Заявка.Видимый = True

Это делает Excel Workbook видимым. Это не повредит, если Excel уже виден.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .