Автоматическое закрытие всплывающего окна Excel с помощью VBscript
У меня есть файл Excel, который должен получить доступ к удаленному серверу мониторинга через веб-запрос. Поскольку данные в файле должны периодически обновляться и сохраняться, я написал сценарий .vbs для этого. Он работает нормально, но так как сервер использует базовую безопасность аутентификации, которую нельзя отключить, при каждом запуске Excel выдает всплывающее окно «Безопасность Windows» с запросом имени пользователя и пароля. Существует опция «Сохранить учетные данные», но она все равно требует, чтобы пользователь нажимал «ОК», чтобы продолжить, но система требует, чтобы не было никакого взаимодействия с пользователем.
Погуглил я нашелэтот стек обменный пост и другие подобные подходы, поэтому я изменил скрипт для своих нужд:
Set wshShell = CreateObject("WScript.Shell")
Do
ret = wshShell.AppActivate("Windows Security")
If ret = True Then
wshShell.SendKeys "{enter}"
Exit Do
End If
WScript.Sleep 500
Loop
Сценарий запускается, когда появляется окно, и даже регистрирует нажатие клавиши «ввод» в любом окне, в котором я находился в данный момент, но не может фокусироваться на самом всплывающем окне. Он отлично работает в других приложениях, таких как «Блокнот» или «Калькулятор». Это как-то специфично для всплывающих окон? Как я могу изменить скрипт, чтобы сосредоточиться на всплывающем окне "Excel"? Существуют ли другие, более простые или более надежные альтернативы?
Спасибо