vba - 使用msxml2.xmlhttp.3.0将数据发送到web以选择EXCEL VBA中的Datepicker

标签 vba excel datepicker httprequest xmlhttprequest

以下是部分网页的 HTML。

"input name="ctl00$ctl00$AllContent$ContentMain$ucMktStatCtl$txtDate" type="text"
id="ctl00_ctl00_AllContent_ContentMain_ucMktStatCtl_txtDate" 
onkeypress="javascript:return fnTrapKD(event, document.getElementById('ctl00_ctl00_AllContent_ContentMain_ucMktStatCtl_butReport'))"
value="02/24/2006" class="hasDatepicker">

我尝试使用以下代码来访问数据。

Dim strPostData As String: strPostData  = "ctl00$ctl00$AllContent$ContentMain$ucMktStatCtl$txtDate=02/24/2006"
 Dim xmlhttp: Set xmlhttp = CreateObject("msxml2.xmlhttp.3.0")
  xmlhttp.Open "POST", "http://www.cboe.com/data/mktstat2.aspx#VIX", False
  xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  xmlhttp.send (strPostData)

我收到 responsetext 并显示 404 - 未找到文件或目录。但该网站确实接受浏览器中的输入。

最佳答案

mozilla firefox 插件 firebug 有助于分析 http 请求。
Post 选项卡显示发送的参数。
URL 应该是 http://www.cboe.com/data/mktstat2.aspx

enter image description here

Sub test()

    Dim strPostData As String
    strPostData = "ctl00$ctl00$AllContent$ContentMain$ucMktStatCtl$butReport=Get Report&ctl00$ctl00$AllContent$ContentMain$ucMktStatCtl$ddlNav=&ctl00$ctl00$AllContent$ContentMain$ucMktStatCtl$txtDate=05/31/2013&ctl00$ctl00$AllContent$ucHeader$CBOEHeaderSearchBox$txtHeaderSearch=Search&ctl00$ctl00$AllContent$ucHeader$ucCBOEHeaderQuoteBox$txtHeaderQuote=Quote"

    Dim xmlhttp As Object
    Set xmlhttp = CreateObject("msxml2.xmlhttp")

    xmlhttp.Open "POST", "http://www.cboe.com/data/mktstat2.aspx", False
    xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    xmlhttp.send (strPostData)

    MsgBox xmlhttp.responseText
End Sub

关于vba - 使用msxml2.xmlhttp.3.0将数据发送到web以选择EXCEL VBA中的Datepicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16870579/

相关文章:

excel - 无法通过变量激活工作簿

vba - 在Excel中复制格式的快速方法

javascript - 在多个日期选择器中插入动态值

javascript - 如何在多个 jQueryUI 日期选择器中遮盖特定日期

ios - 无法从委托(delegate)快速获取值

excel - 删除单元格中的部分文本并保留其他文本

validation - Excel 数据验证引用电子表格位置与静态列表

excel - 循环遍历单元格范围以检查它是否是数字(任何数字)

excel - 如何在 vba 代码中执行 "Save As",用日期戳保存当前的 Excel 工作簿?

python - 用随机数填充 Excel 单元格