Board logo

標題: [發問] 請問最近用vba下載twse大盤資料時,遇到一些網址的問題 [打印本頁]

作者: ashin1981    時間: 2016-8-19 21:14     標題: 請問最近用vba下載twse大盤資料時,遇到一些網址的問題

本帖最後由 ashin1981 於 2016-8-19 21:16 編輯

各位大大你好!

小弟之前有用vba  excel web方式下載大盤指數(twse網站)到excel時都是正常的,但是最近在下載8月份資料時有一些問題,在8月份以前的網址都可以完整下載所有天數的資料,不曉得是不是twse的網站有改版嗎?

1. http://www.twse.com.tw/ch/trading/exchange/FMTQIK/genpage/Report201608/201608_F3_1_2.php?STK_NO=&myear=2016&mmon=08
2. http://www.twse.com.tw/ch/trading/exchange/FMTQIK/genpage/Report201607/201607_F3_1_2.php?STK_NO=&myear=2016&mmon=07

上面兩個網址,第1個是8月份的,可是他只能出現8/1~8/5的資料,第2個是7月份的,他可以出現7/1~7/30所有的資料,請問各位大大可以問是哪裡有問題嗎?
或可以用其他程式下載到excel。

程式在8月以前都可以正常顯示所有天數的資料,如下所示:

Sub 下載大盤指數Web()

    Dim WebSht大盤 As Worksheet
                    

    大盤指數URL = "URL;http://www.twse.com.tw/ch/trading/exchange/FMTQIK/genpage/Report" & y & m & "/" & y & m & "_F3_1_2.php?STK_NO=&myear=" & y & "&mmon=" & m
   
    Application.EnableCancelKey = xlErrorHandler
    Set WebSht大盤 = Sheets("大盤指數")

    WebSht大盤.Cells.Clear
   
    With WebSht大盤.QueryTables.Add(Connection:= _
         大盤指數URL, Destination:=WebSht大盤.[A2])
        .Name = "201507_F3_1_2.php?STK_NO=&myear=2015&mmon=07"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "8"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
        .Delete
    End With
   
101: ErrNo = Err.Number

Set WebSht大盤 = Nothing

End Sub
作者: rinkenny    時間: 2016-9-9 19:16

我也遇到這個問題,請問有哪位大大可供解答嗎?
作者: zyzzyva    時間: 2016-9-9 23:44

回復 2# rinkenny
那兩個網址已經失效了吧?我試是連不到。
新的應該是
http://www.twse.com.tw/ch/trading/indices/MI_5MINS_HIST/MI_5MINS_HIST.php?myear=105&mmon=08
http://www.twse.com.tw/ch/trading/indices/MI_5MINS_HIST/MI_5MINS_HIST.php?myear=105&mmon=07
作者: white5168    時間: 2016-9-10 16:58

你要的是這個網頁的網址嗎?http://www.tse.com.tw/ch/trading/indices/MFI94U/MFI94U.php
作者: rinkenny    時間: 2016-9-12 17:47

回復 3# zyzzyva

不好意思,我沒看清楚,連結網址是
http://www.twse.com.tw/ch/trading/exchange/FMTQIK/FMTQIK.php?myear=105&mmon=08
但我是想存成CSV檔,一直找不到CSV的連結,請問有辦法知道嗎?
作者: zyzzyva    時間: 2016-9-12 18:56

回復 5# rinkenny
http://www.twse.com.tw/ch/trading/exchange/FMTQIK/FMTQIK.php?
post data:
download:csv
query_year:2016
query_month:8
要用post的方式
作者: jsleee    時間: 2016-9-15 07:48

能否有簡單的範例,使用POST的方法
我也很有興趣
感謝
作者: zyzzyva    時間: 2016-9-15 11:08

本帖最後由 zyzzyva 於 2016-9-15 11:10 編輯

回復jsleee
post的資料請依需求自行修改。
[attach]25256[/attach] 7#
作者: jsleee    時間: 2016-9-17 21:02

回復 8# zyzzyva

    您好,測試您提供的程式碼,執行到以下這一行程式碼會停掉
       oStream.SaveToFile ("C:\file.csv")
   
   出現的異常碼為
   執行階段錯誤 '3004'
   寫入檔案失敗
  
   另一個問題,這樣的語法適用於 證交所各網頁嗎?如果我只是想將以下的網頁 依照我所指定的 "分類項目" 抓到Excel工作表中,改如何下指令呢?
   http://www.twse.com.tw/ch/trading/fund/MI_QFIIS/MI_QFIIS.php
  
   很抱歉這部分摸索很久,就是不得其門而入,煩請抽空解惑,感恩

JS
作者: zyzzyva    時間: 2016-9-18 21:28

回復 9# jsleee
請檢查一下該路徑在您的電腦是否存在,若是,請檢查該路徑下該名稱之檔案是否已存在。

如果是要直接下載到excel裡,建議使用querytable,可以參考彰化大的這篇
http://blog.bestdaylong.com/2016/08/excel_23.html




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