我写了一个脚本,它将打开一个工作簿并在工作簿中运行宏。该宏应该打开Internet Explorer,并使用SendKeys
命令登录到网站。我遇到的问题是,当Excel在前面运行时,Internet Explorer在后台打开。本质上,我希望新打开的Internet Explorer位于最前面并被选中,以便可以使用SendKeys
命令。我知道,当我手动运行宏时,它会工作,并且由于某种原因,它也很少会工作(在计算机重新启动后)。我不确定这是否是时间问题。
我必须使用SendKeys
的原因是,仅当您手动输入ID和密码时,登录按钮才起作用。我还尝试使用此按钮来禁用按钮,但此按钮不起作用,因此我必须使用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
。