VBA从Internet Explorer发送XMLHttpRequest

VBA从Internet Explorer发送XMLHttpRequest,vba,excel,internet-explorer,xmlhttprequest,Vba,Excel,Internet Explorer,Xmlhttprequest,tl;dr:如何在Internet Explorer中使用XMLHttpRequest在VBA中发送POST请求 我想在互联网上自动使用网页。我们的想法是从Excel开始,在工作表中收集一些数据,然后将这些数据传输到internet页面,同时单击一些按钮,然后手动操作 当F12开发者工具手动执行时,我记录了整个过程。通过将数据放入internet页面的文本框,会发生一些Javascript事件,通过XMLHttpRequest触发POST请求: 现在,通过在VBA中复制上述过程(使用getE

tl;dr:如何在Internet Explorer中使用XMLHttpRequest在VBA中发送POST请求


我想在互联网上自动使用网页。我们的想法是从Excel开始,在工作表中收集一些数据,然后将这些数据传输到internet页面,同时单击一些按钮,然后手动操作

当F12开发者工具手动执行时,我记录了整个过程。通过将数据放入internet页面的文本框,会发生一些Javascript事件,通过XMLHttpRequest触发POST请求:

现在,通过在VBA中复制上述过程(使用
getElementById
单击()
值=
等),似乎没有触发相关事件:没有向服务器发送如上所示的POST请求,也没有打开其他掩码。这就是为什么我想省略文本框填充和单击方法,而只是复制POST请求

如何使用Internet Explorer从VBA执行此操作


免责声明:我知道如何使用
MSXML2.serverXMLHTTP
发送POST请求,这在web上被描述了数百次。但是,它总是要么:要么使用Internet Explorer,要么使用
MSXML2.serverXMLHTTP
。但是,我需要Internet Explorer中的请求。

这些链接看起来很有希望| || 看起来您只需使用Navigate方法,并将数据打包到第四个参数的字节数组中。上面的链接之一是旧的,但新的链接看起来非常相似,所以我认为界面没有太大变化


请发布反馈。

如果不看到实际的URL,就不可能回答这个问题-HTML页面中的代码可能会响应许多潜在事件(模糊、向下/向上键、聚焦等)@TimWilliams:(i)有可能以聪明或系统的方式找出发生的事件吗?(-没有记录的尝试和错误)(ii)无论如何,我不想使用事件再现的方式。我想在Internet Explorer中使用XMLHttpRequest直接触发post请求,这是来自VBA。。。因此,服务器看到的结果与Javascript事件触发的结果相同。是的,这可能是可能的,但您需要检查页面并准确了解那里发生了什么。@TimWilliams:好的,谢谢,这与(i)有关。OP的核心是(ii)。有什么想法吗?我说的是两部分。你需要弄清楚(i)才能做(ii)。