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