返回列表 上一主題 發帖

[發問] 股票歷史價格表

回復 8# GBKEE


   我記得會造成不一樣是因為如果輸入日期剛好碰到假日,那資料會以下一個工作日開始,例如輸入20180128(日),那就會抓到從20180129(一)開始的資料
Excel VBA網頁資料收集教學:
http://forum.twbts.com/thread-20848-1-1.html

TOP

本帖最後由 GBKEE 於 2018-2-1 20:39 編輯

回復 11# iamaraymond
這網頁可能也有流量管制
試試看
  1. Option Explicit
  2. Sub 股價()
  3.     Dim stockno As String, mydate1 As String, mydate2 As String, myurl As String
  4.     Dim Ar As Variant, i As Integer, xTime As Date
  5.     Ar = Array("2005/1/1", "2006/1/1", "2007/1/1", "2008/1/1")
  6.     [B3] = 2303
  7.     stockno = [B3]
  8.     [B5] = Date
  9.     For i = 0 To UBound(Ar)
  10.         [b4] = Ar(i)
  11.         [A10].CurrentRegion.Clear
  12.         mydate1 = Format([b4], "YYYY/MM/DD")
  13.         mydate2 = Format([B5], "YYYY/MM/DD")
  14.         myurl = "https://www.cnyes.com/twstock/ps_historyprice.aspx?code=" & stockno & "&ctl00$ContentPlaceHolder1$startText=" & mydate1 & "&ctl00$ContentPlaceHolder1$endText=" & mydate2
  15.         With ActiveSheet.QueryTables.Add(Connection:= _
  16.             "URL;" & myurl, Destination:=Range("$A$10"))
  17.             .RefreshStyle = xlOverwriteCells
  18.             .SaveData = True
  19.             .AdjustColumnWidth = False
  20.             .WebSelectionType = xlSpecifiedTables
  21.             .WebFormatting = xlWebFormattingNone
  22.             .WebTables = "1"
  23.             Application.StatusBar = "資料下載中 ... " & [b4]
  24.             .Refresh BackgroundQuery:=False
  25.             .Delete
  26.         End With
  27.         With [A10].End(xlDown)
  28.             .Select
  29.             If Abs(.Cells - [b4]) > 15 Then
  30.                 MsgBox "開始日期 " & [b4] & " <****> " & .Cells
  31.             End If
  32.         End With
  33.         If i < UBound(Ar) Then
  34.             xTime = Time
  35.             Do
  36.                 DoEvents
  37.                 Application.StatusBar = xTime + #12:00:20 AM# & " - 等候 20秒 ..." & Time
  38.             Loop While xTime + #12:00:20 AM# > Time
  39.         Else
  40.             MsgBox "程式 完畢 "
  41.         End If
  42.     Next
  43. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 11# iamaraymond

我想是資料的完整性問題,不是起始日期是否與資料日期一致
在下列位址有討論,請參考  
  http://forum.twbts.com/thread-20288-1-1.html

TOP

IE , ActiveX.EXE 最大特點是什?  善用之

TOP

回復 14# jackyq


    請 jackyq 大明示,以便學習

謝謝

TOP

回復 15# Scott090

多工 ...

TOP

        靜思自在 : 願要大、志要堅、氣要柔、心要細。
返回列表 上一主題