小编Sim*_*mon的帖子

提交表单并从网站VBA获取数据

我正在尝试使用Excel中的VBA 从此站点获取数据.我试图做的和有用的是使用像这样的InternetExplorer对象:

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = False
IE.Navigate "http://zertifikate.finanztreff.de"
IE.document.getElementById("USFsecuritySearchDropDown").Value = "DE000BP5TBQ2"
IE.document.getElementById("USFsecuritySearchDropDownForm").submit

Do While IE.Busy Or IE.readyState <> 4  'wait until page is loaded
    Application.Wait DateAdd("s", 1, Now)
Loop
MsgBox IE.document.getElementById("BP5TBQ~30~5").innerHTML
Run Code Online (Sandbox Code Playgroud)

然而,这工作非常缓慢,并没有得到总是正确的结果.我怀疑有时它不会等到网页加载.我试图寻找答案,我在stackoverflow上找到了这个答案.现在我想弄清楚如何使用MSXML2和MSHTML重写我的宏.到目前为止,我能够做到这一点:

Dim IE As MSXML2.XMLHTTP60
Set IE = New MSXML2.XMLHTTP60

IE.Open "GET", "http://zertifikate.finanztreff.de", False
IE.send
While IE.ReadyState <> 4
    DoEvents
Wend

Dim HTMLDoc As MSHTML.HTMLDocument
Dim htmlBody As MSHTML.htmlBody

Set HTMLDoc = New MSHTML.HTMLDocument
Set htmlBody = HTMLDoc.body
htmlBody.innerHTML = …
Run Code Online (Sandbox Code Playgroud)

excel vba msxml mshtml

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

excel ×1

mshtml ×1

msxml ×1

vba ×1