VBA MSXML2.ServerXMLHTTP 响应文本是一个 HTML 页面 [英] VBA MSXML2.ServerXMLHTTP Response text is an HTML Page

查看:34
本文介绍了VBA MSXML2.ServerXMLHTTP 响应文本是一个 HTML 页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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.

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

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?

推荐答案

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

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

这篇关于VBA MSXML2.ServerXMLHTTP 响应文本是一个 HTML 页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆