返回列表 上一主題 發帖

[發問] [請教]個股成交資訊以VBA擷取之問題...

回復 1# cudui


    Sub 個股日成交資訊()
'
'
    Dim ptxt As String
    'Dim STK_NO, mmon As String
    myear = InputBox("輸入查詢民國年", "個股日成交資訊")
   
    If myear = "" Then
       Exit Sub
    Else
       myear = myear + 1911
    End If
    mmon = InputBox("輸入查詢月,1-9月需補0如02月", "個股日成交資訊")
    If mmon = "" Then Exit Sub
   
    STK_NO = InputBox("輸入個股代碼", "個股日成交資訊")
    If STK_NO = "" Then Exit Sub
           
    mym = myear & mmon
     With ActiveSheet.QueryTables.Add(Connection:= _
         "URL;http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY/genpage/Report" & mym & "/" & mym & "_F3_1_8_" & STK_NO & ".php?STK_NO=" & STK_NO & "&myear=" & myear & "&mmon=" & mmon _
        , Destination:=Range("A1"))
'
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = False
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingAll
        .WebTables = "8"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
           
   
End Sub

     試試看吧!!

TOP

回復 3# cudui


    你原始的HTTP:段不是產生資料後的網頁,當然抓不到啊!!!

TOP

回復 4# cudui


    這資料是會變動的(如果不是個整月),所以應該當資料來源,在另一個sheet套入(或其它欄位套用資料)...
    請上傳你的檔案吧!!版大會協助的!!!

TOP

回復 8# cudui


    For .. next 迴圈配合你的 Offest,,可以達成你要的結果??如何做先自己想吧!!!
    不懂你的連續5個月的意思 .. 如果是本次抓取為起始的話 mmon + 1 推進,同是判斷是否大於12進位年 myear + 1..
    應該在決定這個vba的用途時,就將想法設定好...版大只會依你的問題提出可行的作法,當然還有更好的寫法(我也只是懂一點,剛好你的問題我看的懂).....   
    目前你只抓上市,若是上櫃呢??它就不是那麼容易,要去爬文找答案.....
     股票代號若錯誤是抓不到database??這部份你想到了嗎??

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題