excel - 使用 Excel VBA 代码发送 POST 并检索数据

标签 excel vba post

什么 VBA 代码允许我发送 POST 请求(在 asp 搜索框中),然后在 <span id="xxx"></span> 之间检索数据标签? (在结果页面中)

我有以下代码模拟页面中的搜索请求:

 Dim Site As Object
 Set Site = CreateObject("InternetExplorer.application")
 Dim QNUMBER As String
 Dim URL As String

 URL = "apps/inventory/Default.aspx" 'local website
 QNUMBER = textBox_Scan.Text
 Site.navigate URL
 While Site.busy
 Wend
 Dim oHTMLDoc As Object
 Set oHTMLDoc = Site.document

 oHTMLDoc.getElementById("input_search").Value = QNUMBER
 oHTMLDoc.getElementById("btn_search").Click

这样做感觉不“干净”,我觉得发送 POST 请求会更合适。

谢谢。

[编辑]

这是表格代码
 <form name="aspnetForm" method="post" action="Default.aspx" id="aspnetForm">

输入文本 id
id="input_search" 

提交按钮代码
id="btn_search"

我想从 <span id="warranty">36 month</span> 获取数据和 <span id="budget">500$</span>

最佳答案

Sub macroPOST()
    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    URL = "[Your URL]"
    objHTTP.Open "POST", URL, False
    objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    objHTTP.Send ("id=dddaaa&pwd=1234[Your request parameters]")

    replyTXT = objHTTP.responseText

    If objHTTP.Status = "200" Then 'success
        MsgBox replyTXT
    Else
        'Do something
    End If
End Sub

它适用于我的 Excel,感谢您仔细阅读。

关于excel - 使用 Excel VBA 代码发送 POST 并检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45283903/

相关文章:

python - 将带有 header 和正文的 HTTP POST 请求转换为 Python (Telerik Fiddler)

排序行组Excel VBA宏

生成 #REF 的 Excel 公式!错误

excel - 对于每一行,按预定义列复制特定单元格,并将值粘贴到单独工作表中的备用预定义列中

excel - 即使缺少预期的附件,如何生成电子邮件?

excel - 如何根据不同单元格中的特定条目向单元格添加自定义文本?

php - 需要帮助来比较 PHP 和 DB 的值(value),$_POST 不起作用..?

php - POST 文本数据和文件

带单元格参数的 VBA Excel Range()

vba - 宏仅将值从一张纸复制到另一张纸