返回列表 上一主題 發帖

[發問] 擷取上櫃股價行情~遇到非交易日即跳出錯誤訊息!

回復 1# cudui


    請問該怎麼修改以下的vba代碼,
使其可以先判定當日有沒有交易資料,再進行資料擷取/或跳至下一個交易日 ???

   你的問題很籠統...沒法完整回答......如果是一個可正確run的vba,也要先說明你的個邏輯...

    最簡單的方法是將整年的交易日期計劃拿到,比對欲抓取的日期目標,依判定變更report的html.....

TOP

http://www.otc.org.tw/ch/stock/aftertrading/otc_quotes_no1430/SQUOTE_AL_1010419.CSV
你又抓到沒有資料的網頁了....

TOP

''上櫃個股歷史資料
   With ActiveSheet.QueryTables.Add(Connection:="URL;http://www.otc.org.tw/ch/stock/aftertrading/otc_quotes_no1430/SQUOTE_AL_" & myear & mmon & nowday & ".CSV" _
        , Destination:=ActiveCell.Offset(2, 0))
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = True
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = False
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "1,2,3"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
   
   
    Range("a3:a2200").Select
       Selection.TextToColumns Destination:=Range("b4"), DataType:=xlDelimited, _
       TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
       Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
         Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), _
         Array(14, 1), Array(15, 1)), TrailingMinusNumbers:=True
    Range("a4:a2200").Delete
    Rows("4:4").Select
    Selection.Delete Shift:=xlUp
    Columns("A:O").Select
    Range("a1").Activate
    Selection.ColumnWidth = 8
   
End Sub

試試看吧

TOP

''上櫃個股歷史資料
   With ActiveSheet.QueryTables.Add(Connection:="URL;http://www.otc.org.tw/ch/st ...
chen_cook 發表於 2012-4-20 07:14



    這是錯誤的資料

TOP

回復 14# cudui


    依該原始網頁編寫之內容,好像是把,csv的檔轉.html輸出晝面所致,你若用匯入網頁方式會回應你網頁無回應之訊息!!
    (所以才會跟你說抓錯網頁了,因為它本身就沒有.html這個網頁吧!!)櫃買中心的網頁是.php不是.html抓法不同一般的
    .html之前就有跟你提過了:@ .... 你會問其它的沒有問題啊!!我也不知道為什麼,:dizzy: 重點是抓到你要的資料吧!!若
    .csv可正確get data,反正是excel幫忙做,看到資料就好:D !!!.html無法匯入標題不是嗎??

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題