台灣最大程式設計社群網站
線上人數
1005
 
會員總數:240657
討論主題:186523
歡迎您免費加入會員
討論區列表 >> office VBA / WinOS >> VBA 執行Microsoft.XMLHTTP send 存取被拒
[ 變換順序 ]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
VBA 執行Microsoft.XMLHTTP send 存取被拒
價值 : 100 QP  點閱數:219 回應數:0

樓主

久久米
門外漢
0 1
4 0
發送站內信

小弟參考了某大高手的VBA程式,可下載歷史股價資料(之前都還能使用),
但近期使用時卻跳出"拒絕存取"且偵錯停在WinHttpReq.Send 這行,
查過板上推測可能原因為:
1.CreateObject("Microsoft.XMLHTTP") 應換成 CreateObject("MSXML2.ServerXMLHTTP")=>結果WinHttpReq.Status 變成502,且下載內容皆錯
2.下載網址已經變更了?

底下為程式碼想請各位高手前輩們指點小弟,謝謝

<pre lang="vb">
For i = 1 To num_TW
stock_code = Sheets("sheet1").Cells(i + 1, 6) ' catch TW stock code
file_dir = Sheets("sheet1").Range("B6") & stock_code & ".csv"

myURL = "http://ichart.finance.yahoo.com/table.csv?s=" & stock_code & ".TW&a=" & ini_month & "&b=" & ini_day & "&c=" & ini_year & _
"&d=" & end_month & "&e=" & end_day & "&f=" & end_year & "&g=d&ignore=.csv"

Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False
WinHttpReq.Send

myURL = WinHttpReq.ResponseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.ResponseBody
oStream.SaveToFile (file_dir)
oStream.Close
End If
Next

搜尋相關Tags的文章: [ Microsoft.XMLHTTP ] , [ 存取被拒 ] ,
本篇文章發表於2017-05-25 15:51
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
目前尚無任何回覆
[ 變換順序 ]   

回覆
如要回應,請先登入.