返回列表 上一主題 發帖

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

[發問] 請問最近用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

我也遇到這個問題,請問有哪位大大可供解答嗎?

TOP

回復 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

TOP

你要的是這個網頁的網址嗎?http://www.tse.com.tw/ch/trading/indices/MFI94U/MFI94U.php

TOP

回復 3# zyzzyva

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

TOP

回復 5# rinkenny
http://www.twse.com.tw/ch/trading/exchange/FMTQIK/FMTQIK.php?
post data:
download:csv
query_year:2016
query_month:8
要用post的方式

TOP

能否有簡單的範例,使用POST的方法
我也很有興趣
感謝

TOP

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

回復jsleee
post的資料請依需求自行修改。
xml_post.rar (14 KB) 7#

TOP

回復 8# zyzzyva

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

JS

TOP

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

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

TOP

        靜思自在 : 站在半路,比走到目標更辛苦。
返回列表 上一主題