3

我一直在环顾四周,但找不到任何方法来做我想做的事情。甚至可能都不可能,但我正在使用 MSXML2 驱动程序连接到网页。我得到的响应文本只是网页的 HTML。不完全是我想要的,但我也许可以使用它。从那里,我想尝试为该响应文本设置一个 HTML 文档对象,因为它只是一个 HTML 页面,但我得到了类型不匹配。我不确定这是否会让我更接近解决我的问题,但我认为值得在这里提问。这是我正在做的事情:

Sub GetResponseText()
    Dim Document as HTMLDocument
    Dim xmlHTTP As MSXML2.ServerXMLHTTP
    Set xmlHTTP = New MSXML2.ServerXMLHTTP
    xmlHTTP.Open "POST", "http://SomeServerName.dev/SomePage.Aspx", False, "User", "Password"
    xmlHTTP.send "Doesn't matter what I put here, response always the same"
    Set Document = xmlHTTP.responseText   <----- No dice.  Type mismatch here.

所以,正如我所说,我什至不确定这是否会起作用。只是想我会签到。我正在尝试做的概述是这是我正在尝试为我工作的公司填写的内部应用程序。我在等待 AJAX 来完成尝试直接自动化 HTML 的请求时运气不佳,所以我想知道这样的事情是否会有所帮助。有什么想法吗?

4

1 回答 1

5

CreateObject("htmlfile")您可以使用并分配 xmlhttp 响应文本来创建 html 文档。

Sub GetResponseText()

    Dim Document As HTMLDocument
    Dim xmlHTTP As MSXML2.ServerXMLHTTP
    Set xmlHTTP = New MSXML2.ServerXMLHTTP
    xmlHTTP.Open "POST", "http://SomeServerName.dev/SomePage.Aspx", False, "User", "Password"
    xmlHTTP.send "Doesn't matter what I put here, response always the same"

    Dim doc As Object
    Set doc = CreateObject("htmlfile")
    doc.body.innerHTML = xmlHTTP.responseText
    debug.print doc.body.innerHTML


End Sub
于 2013-11-13T16:19:49.170 回答