Mat*_*ttB 3 xml automation vba dom
我一直在环顾四周,但找不到任何方法来做我在这里想做的事情。甚至可能不可能,但我正在使用 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.
Run Code Online (Sandbox Code Playgroud)
所以,正如我所说,我什至不确定这是否会奏效。只是想我会登记。我正在尝试做的概述是这是一个内部应用程序,我正在尝试为我工作的公司填写。我在等待 AJAX 完成尝试直接自动化 HTML 的请求时运气不佳,所以我想知道这样的事情是否会有所帮助。有什么想法吗?
您可以使用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
Run Code Online (Sandbox Code Playgroud)