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

Dar*_*s M 1 excel post vba

什么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
Run Code Online (Sandbox Code Playgroud)

这样做并不觉得"干净",我觉得发送POST请求会更合适.

谢谢.

[编辑]

这是表单代码

 <form name="aspnetForm" method="post" action="Default.aspx" id="aspnetForm">
Run Code Online (Sandbox Code Playgroud)

输入文本ID

id="input_search" 
Run Code Online (Sandbox Code Playgroud)

提交按钮代码

id="btn_search"
Run Code Online (Sandbox Code Playgroud)

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

Tie*_* Ju 6

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
Run Code Online (Sandbox Code Playgroud)

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