这有点模糊,因为我无法提供所需的所有相关信息,但也许有人愿意接受挑战。
我正在尝试从网站下载excel文件,然后保存该excel文件。这是我的代码。
Dim ie As InternetExplorer
Set ie = New InternetExplorer
ie.Visible = True
ie.navigate "####"
Do While ie.Busy = True Or ie.readyState <> 4: DoEvents: Loop
ie.document.getElementById("###").Click
Do While ie.Busy = True Or ie.readyState <> 4: DoEvents: Loop
Application.SendKeys "%{o}"
Set ie = Nothing
ActiveWorkbook.SaveAs "####"
End Sub
当我在sendkeys之后不包含任何内容时,代码可以正常工作。如果我在sendkeys之后包含任何代码,则下载将等待下载,直到该代码运行完毕。我尝试使用
Application.Wait Not + TimeValue("xx:xx:xx")
但这也只是暂停了下载。是否有任何类型的循环,我可以运行类似于下面列出的readystate循环?
Do While ie.Busy = True Or ie.readyState <> 4: DoEvents: Loop
或者在继续我的其余宏之前完成下载的另一个技巧?