Я пытаюсь удалить некоторые данные с веб-сайта интрасети, созданного третьей стороной, и отправить электронное письмо в зависимости от данных. Я сделал это в Excel с VBA, так как мой компьютер заблокирован и не имеет Powershell или любого другого языка сценариев.
Проблема в том, что веб-сайт требует входа в систему с помощью диалогового окна безопасности Windows. Я искал часы и ничего не работает. SendKeys в VBA не работает, так как блок защиты вступает во владение и останавливает VBA. Это почти сработало: VBA-код для передачи имени пользователя и пароля .
Проблема в том, что когда я планировал (планировщик задач), иногда пароль (имя пользователя уже заполнено) не переходил в диалог безопасности, и он переходил в Word или что-либо еще открытое. Я не думаю, что «Безопасность Windows» - это фактическое имя окна (хотя это то, что в заголовке).
Правка - добавление кода:
Set IE = New InternetExplorerMedium
IE.Visible = True
CreateObject("WScript.Shell").AppActivate "XYZ.net - Internet Explorer"
URL = "https://XYZ.aspx"
IE.Navigate URL
Do While IE.ReadyState = 4: DoEvents: Loop
Do Until IE.ReadyState = 4: DoEvents: Loop
HWNDSrc = IE.HWND
SetForegroundWindow HWNDSrc
IE.document.getElementById("overridelink").Click
Application.Wait (Now + TimeValue("00:00:08"))
Shell "WScript H:\data\excel\Logon.vbs", vbNormalFocus