VBA MSXML2.ServerXMLHTTP响应文本是HTML页面

时间:2013-11-13 15:59:34

标签: xml vba dom automation

我一直在四处寻找,但我找不到办法去做我想做的事情。它可能甚至不可能,但我正在使用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时运气不佳,所以我想知道这样的事情是否会有所帮助。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

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

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
相关问题