Board logo

標題: [發問] 用VBA載入網頁資料 [打印本頁]

作者: pupai    時間: 2014-12-15 15:38     標題: 用VBA載入網頁資料

各位好
如何用VBA載入網頁資料
http://www.taifex.com.tw/chinese/3/7_12_3_tbl.asp
謝謝!!
作者: joey0415    時間: 2014-12-15 15:59

  1. Sub 巨集1()
  2.     With ActiveSheet.QueryTables.Add(Connection:= _
  3.         "URL;http://www.taifex.com.tw/chinese/3/7_12_3_tbl.asp", Destination:=Range( _
  4.         "$A$1"))
  5.         .WebFormatting = xlWebFormattingNone
  6.         .WebTables = "2"
  7.         .Refresh BackgroundQuery:=False
  8.         .Delete
  9.     End With
  10. End Sub
複製代碼
回復 1# pupai
作者: pupai    時間: 2014-12-15 16:03

回復 2# joey0415


    請問我如果要指定日期,該如何編寫
謝謝
作者: joey0415    時間: 2014-12-15 20:48

回復 3# pupai

上面的只能查單日

下面的才可以選日期
http://www.taifex.com.tw/chinese/3/7_12_3.asp

或是下面直接下載csv

http://www.taifex.com.tw/chinese/3/dl_7_12_8.asp
作者: pupai    時間: 2014-12-16 11:43

回復 4# joey0415


這方式我知道
我需要的是用VBA方式指定日期的寫法
感謝回復
    謝謝
作者: HSIEN6001    時間: 2014-12-16 12:28

回復 5# pupai

試試
  1. Sub CSV下載()
  2. Dim path As String
  3. path = "C:\"
  4. 日期 = "20141215"

  5. Set XML = CreateObject("Microsoft.XMLHTTP")
  6. Set stream = CreateObject("ADODB.stream")
  7.    
  8.     URL = "http://www.taifex.com.tw/chinese/3/7_12_8dl.asp?syear=" & VBA.Left(日期, 4) & "&smonth=" & VBA.Mid(日期, 5, 2) & "&sday=" & _
  9.             VBA.Right(日期, 2) & "&eyear=" & VBA.Left(日期, 4) & "&emonth=" & VBA.Mid(日期, 5, 2) & "&eday=" & VBA.Right(日期, 2)
  10.         XML.Open "GET", URL, 0
  11.         XML.send
  12.     With stream
  13.         .Type = 1
  14.         .Open
  15.         .write XML.responseBody
  16.         If Dir(path & "類股期貨" & 日期 & ".csv") <> "" Then Kill (path & "類股期貨" & 日期 & ".csv")
  17.         .SaveToFile (path & "類股期貨" & 日期 & ".csv")
  18.         .Close
  19.     End With

  20. End Sub
複製代碼

作者: pupai    時間: 2014-12-16 14:30

回復 6# HSIEN6001


    看不是很懂, 程式執行有誤 出現執行階段也誤'3004




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)