返回列表 上一主題 發帖

[發問] 上市個股日成交資訊下載改版建議

[發問] 上市個股日成交資訊下載改版建議

原先參考站上資料使用msxml2.xmlhttp寫了下載上市股票日成交資訊的巨集,沒想到才用兩天,今天突然不能使用了,原來TWSE又改版了,查了半天msxml2.xmlhttp好像沒辦法抓動態產生的表格資料,想修改巨集,卻不知該用什麼方式,不知是否有建議的工具?
附上原先的巨集供參 上市証卷日成交.rar (59.21 KB)

TOP

請問J大如加權股價指數歷史資料
http://www.twse.com.tw/zh/page/trading/indices/MI_5MINS_HIST.html
該如何下載

TOP

http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/MI_INDEX.php
如何用巨集一次下載到工作表 ??
全部(不含權證, 牛熊證.........)

TOP

回復 3# f3202
  1. Sub 巨集1()
  2. '
  3.     Cells.Clear
  4.     sday = 20170524
  5.     surl = "http://www.twse.com.tw/indicesReport/MI_5MINS_HIST?response=html&date=" & sday
  6.     Range("A1").Select
  7.     With ActiveSheet.QueryTables.Add(Connection:="URL;" & surl, Destination:=Range("$A$1"))
  8.         .Refresh BackgroundQuery:=False
  9.     End With
  10. End Sub
複製代碼
請選「列印 / HTML」那頁錄製

自已錄製看看,刪除不要的,這完成了

TOP

回復 4# t8899

請選「列印 / HTML」那頁錄製

自已錄製看看,刪除不要的,這完成了
  1. Sub 巨集2()
  2.     Cells.Clear

  3.     With ActiveSheet.QueryTables.Add(Connection:="URL;http://www.twse.com.tw/exchangeReport/MI_INDEX?response=html&date=20170524&type=ALLBUT0999", Destination:=Range("$A$1"))
  4.         .Refresh BackgroundQuery:=False
  5.     End With
  6. End Sub
複製代碼

TOP

本帖最後由 t8899 於 2017-5-24 18:29 編輯
回復  t8899

請選「列印 / HTML」那頁錄製

自已錄製看看,刪除不要的,這完成了
joey0415 發表於 2017-5-24 17:36

請教一下
這樣抓下來有4個表,我只要最後一個  ==> 106年05月24日每日收盤行情(全部(不含權證、牛熊證))

    With ActiveSheet.QueryTables.Add(Connection:="URL;http://www.twse.com.tw/exchangeR ... onse=html&date=20170524&type=ALLBUT0999", Destination:=Range("$A$1"))
        .Refresh BackgroundQuery:=False
    End With
日期如何用變數代入(今天) ???

TOP

回復 7# t8899

這個很基本,前面都有範例了,自己學習

TOP

回復  t8899

這個很基本,前面都有範例了,自己學習
joey0415 發表於 2017-5-24 19:22


用 Format(Date, "yyyyMMDD") ,語法問題,無法直接代入?

TOP

本帖最後由 t8899 於 2017-5-24 20:03 編輯
回復  t8899

這個很基本,前面都有範例了,自己學習
joey0415 發表於 2017-5-24 19:22

OK了,  不過,只下載最後一個表格不會
Sub Macro1()
    Cells.Clear

ddd = "URL;http://www.twse.com.tw/exchangeR ... onse=html&date=" & Format(Date, "yyyyMMDD") & "&type=ALLBUT0999"


    With ActiveSheet.QueryTables.Add(Connection:=ddd, Destination:=Range("$A$1"))
        .Refresh BackgroundQuery:=False
    End Wit


end sub

TOP

        靜思自在 : 做好事不能少我一人,做壞事不能多我一人。
返回列表 上一主題