2013-06-01 43 views
2

以下是網頁部分的HTML。使用msxml2.xmlhttp.3.0將數據發送到Web以選擇EXCEL VBA中的Datepicker

"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 - 文件或目錄未找到。但該網站確實接受瀏覽器中的輸入。

回答

1

mozilla firefox addon firebug有助於分析http請求。
「發佈」選項卡顯示發送的參數。
網址應爲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 
+0

@ user2442771難道解決方案工作? – Santosh