2013-03-25 244 views
1

我正在使用vba代碼從網上獲取信息。 一切都很好,但SOOOO需要多長時間:(互聯網瀏覽器XMLhttp而不是互聯網controlls?

我記得重水復疑無路,還有另一種方式來獲得信息,而不是創建一個IE瀏覽器對象。

我想我不需要的IE Con​​trolls。我我只是樣之後,對方一個環節出片的。

如何被其他的「辦法」的工作?它類似的XMLHTTP? 是否有代碼有區別嗎?shoudnt是,還是?

感謝!

回答

1

這是我使用:

Function getPage(URLStr As String) As MSHTML.HTMLDocument 
    Dim oHttpRequest As MSXML2.XMLHTTP60 
    Set oHttpRequest = New MSXML2.XMLHTTP60 
    With oHttpRequest 
     .Open "GET", URLStr, False 
     .send 
    End With 
    Dim oHTMLDoc As MSHTML.HTMLDocument 
    Set oHTMLDoc = New MSHTML.HTMLDocument 
    oHTMLDoc.body.innerHTML = oHttpRequest.responseText 
    Set getPage = oHTMLDoc 
End Function 

要調用的函數,使用這樣的:

Dim oHTMLDoc as MSHTML.HTMLDocument 
Set oHTMLDoc = getPage("http://www.example.com") 

對於這一點,你需要將引用添加到兩個「微軟XML,V6。 0「和」Microsoft HTML Object Library「,那麼你可以使用MSHTML庫來根據需要解析代碼。

+1

+1這也是我的做法。但是,如果你做了很多鏈接,不要在函數內部創建http對象 - 這是不必要的開銷。創建它,多次使用它,然後銷燬它。 – 2013-03-25 22:39:39

+0

啊,好點。謝謝你的提示! – 2013-03-25 22:46:51

+0

謝謝!我明天會試試! – user2182326 2013-03-27 13:32:36