在所有代码运行之前,VBA下载都不会完成

时间:2017-11-13 21:30:37

标签: excel-vba vba excel

这有点模糊,因为我无法提供所需的所有相关信息,但也许有人愿意接受挑战。

我正在尝试从网站下载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

或者在继续我的其余宏之前完成下载的另一个技巧?

0 个答案:

没有答案