Board logo

標題: [發問] 請問 要如何才能將上櫃股票 st43.php 以 VBA submit 執行? [打印本頁]

作者: PT21    時間: 2015-8-11 10:28     標題: 請問 要如何才能將上櫃股票 st43.php 以 VBA submit 執行?

本帖最後由 PT21 於 2015-8-11 10:30 編輯

ps:原錯發在Excel一般區

我是初學者,爬文後抄下以下 code , 但都在 oNode.ParentNode.submit 錯誤
[attach]21683[/attach]
要如何寫 excel VBA , 在框中按 "enter" 讓它執行呢?
oNode.ParentNode.submit 要如何用呢?
請網上高手幫忙 , 感謝了

Sub 盤後資訊_上櫃當年度日收盤行情()
    Dim A As Object,  oNode As Object, oIE As Object, co_id As String
   
    xYear = Year(Date)
    xMonth = Month(Date)
    xYM = DateSerial(xYear, xMonth, 1)

        co_id = "5347"
  
    Set oIE = CreateObject("InternetExplorer.Application")
    With oIE
        .Visible = True
        .Navigate "http://www.tpex.org.tw/web/stock/aftertrading/daily_trading_info/st43.php?l=zh-tw"
        Do While .Busy Or .ReadyState <> 4: DoEvents: Loop

        .document.all("input_date").Value = Format(xYM, "E/MM")
        .document.all("input_date").onchange
        Do While .Busy Or .ReadyState <> 4: DoEvents: Loop

        Set oNode = .document.all("input_stock_code")
            oNode.Value = co_id
            oNode.ParentNode.submit
        Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
        
        Application.Wait Now + TimeValue("00:00:03")
        Set A = .document.getElementsByTagName("table")
           .document.BODY.innerHTML = A(0).outerHTML '取第1個"table"
        Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
        .ExecWB 17, 2       '  Select All
        .ExecWB 12, 2       '  Copy selection
        '.Quit        '關閉網頁
        Sheets("工作表1").Select
         With ActiveSheet    '可指定工作表
            .UsedRange.Clear
            .Range("A1").Select
            .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NOHTMLFormatting:=True
         End With
    End With
End Sub




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