2017-09-04 121 views
0

如何使用“createDocumentFromUrl()”从vba中直接从网页获取“HTMLDocument”?我尝试了很多工作以在其中找到任何文档,但未能发现。希望有人伸出援手来实现这一点。提前致谢。无法使用createDocumentFromUrl获取html元素

这里是我到目前为止这肯定是不对的尝试:

Sub HtmlScraper() 
    Dim odoc As Object 
    Set odoc = New HTMLDocument 

    odoc.Open createDocumentFromUrl("http://www.stackoverflow.com", "null") 
    MsgBox odoc.body.innerHTML 
End Sub 

我想这样很好,但没有运气:

Sub htmlparser() 
    Dim odoc As HTMLDocument, hdoc As HTMLDocument 

    Set odoc = New HTMLDocument 
    Set hdoc = New HTMLDocument 

    Set hdoc = odoc.createDocumentFromUrl("http://www.stackoverflow.com", Null, False) 
    MsgBox hdoc.body.outerHTML 
End Sub 
+0

还检查新文档的'.readystate'和'.busy'属性。 –

回答

1

这个工作对我来说,这可能成为该网站。

Sub test() 

Dim d As MSHTML.HTMLDocument 
Set d = New MSHTML.HTMLDocument 
Dim d2 As MSHTML.HTMLDocument 

set d2=d.createDocumentFromUrl("www.bbc.co.uk", "null") 

While d.readyState <> "complete" 
    DoEvents 
Wend 

End Sub 
+0

似乎它是工作原因我没有遇到任何执行错误,但如何获得HTML的东西。我的意思是在哪里以及如何使用debug.print或msgbox来获取这种情况下的元素?谢谢。 – SIM

+0

你用Google吗?或从文档对象使用智能感知? –

+0

Add this line MsgBox d2.body.outerHTML or MsgBox d2.body.innerHTML – SIM