简体   繁体   中英

VBA MSXML2.ServerXMLHTTP Response text is an HTML Page

I've been looking around but I can't find any way to do what I'm trying to do here. It may not even be possible, but I'm using the MSXML2 driver to connect to a web page. The response text I get is just the HTMl of the web page. Not exactly what I was looking for, but I might be able to work with it. From there, I wanted to try to set an HTML document object to that response text, since it is just an HTML page, but I get a type mismatch. I'm not sure if this would get me any closer to a solution to my issue, but I figured it would be worth asking here. Here is what I'm doing:

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.

So, As I was saying, I'm not even sure if this would work at all. Just thought I'd check in. The overview of what I'm trying to do is this is an internal application that I'm trying to fill out for the company I work for. I've had poor luck waiting on AJAX to complete requests trying to automate the HTML directly, so I'm wondering if maybe something like this would help. Any thoughts?

You can create html document using CreateObject("htmlfile") and assign the xmlhttp response text.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM