2013-03-25 187 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