Board logo

標題: [發問] 如何可以指定日期後下載資料 [打印本頁]

作者: pupai    時間: 2013-12-3 10:30     標題: 如何可以指定日期後下載資料

您好
我希望程式可以依照我想要的日期下載當天資料
可以幫我指導修改
謝謝!!
  1. Option Explicit
  2. Sub EX()
  3.    
  4.    
  5. Dim URL As String, xCo_Id As String, xSyear As String, xSseason As String
  6.       
  7.        xCo_Id = Range("B1").Value
  8.        xSyear = Range("B2").Value
  9.        xSseason = Range("B3").Value
  10.       
  11. 'xCo_Id = "[" & """年度""" & "," & """102年""" & "]"
  12. '要求輸入網頁的參數:年度
  13. 'xSyear = "[" & """月份""" & "," & """月 """ & "]"
  14. 'Format(Date, "e")->中華民國的月份
  15. 'xSseason = "[" & """日""" & "," & """日期""" & "]"
  16. 'Format(Date, "q")->當年度的日期


  17. '外資及陸資買賣超彙總表
  18. URL = "URL;http://www.twse.com.tw/ch/trading/fund/TWT38U/TWT38U.php?step=1&CO_ID=" & xCo_Id & "&SYEAR=" & xSyear & "&SSEASON=" & xSseason & "&REPORT_ID=C"
  19.     With ActiveSheet.QueryTables.Add(Connection:=URL, Destination:=Range("D4"))
  20.         .AdjustColumnWidth = False                   '自動調整欄寬
  21.         .WebSelectionType = xlSpecifiedTables
  22.         .WebFormatting = xlWebFormattingNone
  23.         .WebTables = "2"
  24.         .WebPreFormattedTextToColumns = True
  25.         .WebConsecutiveDelimitersAsOne = True
  26.         .WebSingleBlockTextImport = False
  27.         .WebDisableDateRecognition = False
  28.         .WebDisableRedirections = False
  29.         .Refresh BackgroundQuery:=False
  30. End With

  31. '投信買賣超彙總表
  32. URL = "URL;http://www.twse.com.tw/ch/trading/fund/TWT44U/TWT44U.php?step=1&CO_ID=" & xCo_Id & "&SYEAR=" & xSyear & "&SSEASON=" & xSseason & "&REPORT_ID=C"
  33.     With ActiveSheet.QueryTables.Add(Connection:=URL, Destination:=Range("K5"))
  34.         
  35.         .AdjustColumnWidth = False                   '自動調整欄寬
  36.         .WebSelectionType = xlSpecifiedTables
  37.         .WebFormatting = xlWebFormattingNone
  38.         .WebTables = "2"
  39.         .WebPreFormattedTextToColumns = True
  40.         .WebConsecutiveDelimitersAsOne = True
  41.         .WebSingleBlockTextImport = False
  42.         .WebDisableDateRecognition = False
  43.         .WebDisableRedirections = False
  44.         .Refresh BackgroundQuery:=False
  45.         
  46.     End With

  47.       
  48. End Sub
複製代碼

作者: GBKEE    時間: 2013-12-6 18:31

本帖最後由 GBKEE 於 2013-12-9 15:53 編輯

回復 1# pupai
每一網頁的元素會有所不同.
  1. Option Explicit
  2. Sub 外資及陸資買賣超彙總表()
  3.     Dim URL As String, xDate As Date
  4.     xDate = Format(Date-1, "E/M/D")
  5.     URL = "URL;http://www.twse.com.tw/ch/trading/fund/TWT38U/TWT38U.php?qdate=" & xDate
  6.     With ActiveSheet.QueryTables.Add(Connection:=URL, Destination:=ActiveSheet.Range("a1"))
  7.         .WebSelectionType = xlSpecifiedTables
  8.         .WebFormatting = xlWebFormattingNone
  9.         .WebTables = "5"
  10.         .WebPreFormattedTextToColumns = True
  11.         .WebConsecutiveDelimitersAsOne = True
  12.         .WebSingleBlockTextImport = False
  13.         .WebDisableDateRecognition = False
  14.         .WebDisableRedirections = False
  15.         .Refresh BackgroundQuery:=False
  16.     End With
  17. End Sub
  18. Sub 投信買賣超彙總表()
  19.     Dim URL As String, xDate As Date
  20.     xDate = Format(Date-1, "E/M/D")
  21.     URL = "URL;http://www.twse.com.tw/ch/trading/fund/TWT44U/TWT44U.php?qdate=" & xDate
  22.     With ActiveSheet.QueryTables.Add(Connection:=URL, Destination:=ActiveSheet.Range("D4"))
  23.         .Connection = URL
  24.         .WebSelectionType = xlSpecifiedTables
  25.         .WebFormatting = xlWebFormattingNone
  26.         .WebTables = "5"
  27.         .WebPreFormattedTextToColumns = True
  28.         .WebConsecutiveDelimitersAsOne = True
  29.         .WebSingleBlockTextImport = False
  30.         .WebDisableDateRecognition = False
  31.         .WebDisableRedirections = False
  32.         .Refresh BackgroundQuery:=False
  33.     End With
  34. End Sub
複製代碼

作者: pupai    時間: 2013-12-9 09:49

回復 2# GBKEE


    版主
請教為什麼程式跑不出東西
謝謝
作者: GBKEE    時間: 2013-12-9 15:52

本帖最後由 GBKEE 於 2013-12-9 18:32 編輯

回復 3# pupai
  1. Option Explicit
  2. Sub 外資及陸資買賣超彙總表()
  3.     Dim URL As String, xDate As Date
  4.     xDate = Date - 1   '經查: 外資及陸資買賣超彙總表 提供前一營業日的資料
  5. ReDate:
  6.     URL = "URL;http://www.twse.com.tw/ch/trading/fund/TWT38U/TWT38U.php?qdate=" & Format(xDate, "E/M/D")
  7.     With ActiveSheet.QueryTables.Add(Connection:=URL, Destination:=ActiveSheet.Range("a1"))
  8.         .WebSelectionType = xlSpecifiedTables
  9.         .WebFormatting = xlWebFormattingNone
  10.         .WebTables = "5"
  11.         .WebPreFormattedTextToColumns = True
  12.         .WebConsecutiveDelimitersAsOne = True
  13.         .WebSingleBlockTextImport = False
  14.         .WebDisableDateRecognition = False
  15.         .WebDisableRedirections = False
  16.         .Refresh BackgroundQuery:=False
  17.         If Application.CountA(.ResultRange) = 0 Then '非營業日,沒有資料.
  18.             xDate = xDate - 1                        '往後退一日
  19.             GoTo ReDate
  20.         End If
  21.     End With
  22. End Sub
複製代碼

作者: pupai    時間: 2013-12-9 17:57

本帖最後由 GBKEE 於 2013-12-9 18:12 編輯

回復 4# GBKEE


感謝   
不懂的很多 但學到也很多
謝謝!!




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