Я написал скрипт, который откроет рабочую книгу и запустит макрос в рабочей книге.Макрос должен открыть Internet Explorer и войти на сайт с помощью команды SendKeys
.У меня проблема в том, что Internet Explorer открывается в фоновом режиме, а Excel работает спереди.По сути, я хотел бы, чтобы недавно открытый Internet Explorer находился спереди и был выбран так, чтобы я мог использовать команду SendKeys
.Я знаю, что макрос работает, когда я запускаю его вручную, и по некоторым причинам он также редко работает (после перезагрузки компьютера).Я не уверен, что это проблема синхронизации.
Причина, по которой я должен использовать SendKeys
, заключается в том, что кнопка входа в систему будет работать только в том случае, если вы вручную введете идентификатор и пароль.Я также попытался отключить кнопку с помощью этого, но это не сработало, поэтому мне пришлось использовать SendKeys
.
With .querySelector("#subBtn")
.disabled = False
.Click
Несколько человек уже задавали этот вопрос, но, похоже, нет однозначного ответа,Вот коды, которые я попробовал.
Dim ie As New InternetExplorer
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
CreateObject("WScript.Shell").AppActivate "Internet Explorer"
ie.Navigate "Website here"
Я также попытался показать т.е. после загрузки веб-сайта, и он не работал.
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "website here"
While ie.Busy Or ie.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend
ie.visible = True
DoEvents
Я также сначала попытался свернуть Excel изатем установите i.e. visible=false
и верните его в значение trueЭто выводит Internet Explorer на передний план, но он не выбран (фокус?), Поэтому команда SendKeys
не будет работать.
ActiveWindow.WindowState = xlMinimized
ie.Visible = False
DoEvents
ie.Visible = True
Я бы хотел, чтобы Internet Explorer был спереди и выбран такчто я могу SendKeys
.