Board logo

標題: [發問] 要如何下載網頁中的表格資料 [打印本頁]

作者: jasonwu0114    時間: 2014-5-22 17:39     標題: 要如何下載網頁中的表格資料

請問要如何用VBA下載該網頁的匯率資料利用
例如要算人民幣 即期 (買匯+賣匯)/2
https://wwwfile.megabank.com.tw/rates/M001/viewF.asp

謝謝
作者: joey0415    時間: 2014-5-22 20:28

回復 1# jasonwu0114
  1. Sub 網銀()
  2.     Dim URL As String, shts As Worksheet
  3.     Dim x As Variant, xi As Integer, A As Object, xlHtm
  4.     Set shts = ActiveSheet '  '("工作表2")
  5.     shts.Cells.Clear
  6.     URL = "https://wwwfile.megabank.com.tw/rates/M001/viewF.asp"
  7.     With CreateObject("InternetExplorer.Application")
  8.         .Visible = True     '  是否顯示 IE
  9.         .Navigate URL
  10.          Do While .ReadyState <> 4 Or .Busy
  11.                 DoEvents
  12.             Loop
  13.         Do While .ReadyState <> 4 Or .Busy: DoEvents: Loop
  14.         xlHtm = .Document.body.innerHTML                '儲存
  15.         Set A = .Document.getElementsBytagname("table")
  16.         For xi = 0 To 2
  17.             .Document.body.innerHTML = A(xi).outerHTML
  18.             .ExecWB 17, 2       '  Select All
  19.             .ExecWB 12, 2       '  Copy selection
  20.             With shts
  21.                 .Range("A" & .[A65535].End(xlUp).Row + 1).Select
  22.                 .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
  23.             End With
  24.             .Document.body.innerHTML = xlHtm                  '還原
  25.         Next xi
  26.         shts.Cells.EntireColumn.AutoFit     '  自動調整欄寬
  27.         .Quit
  28.     End With
  29. End Sub
複製代碼

作者: jasonwu0114    時間: 2014-5-23 11:33

回復 2# joey0415


    感恩
好多看不懂的語法.....努力研究中

另外使用上還有些問題想請教
程式執行後
表頭有出來
可是內容還沒傳回來
程式就已經結束了

請問要改哪裡????
謝謝
作者: liao83    時間: 2014-5-23 16:44

回復 3# jasonwu0114
可以在第9行程式下面增加下面這行即可, 給您參考
Application.Wait Now + TimeValue("00:00:03")  '等待 3秒鐘
作者: jasonwu0114    時間: 2014-5-23 17:11

回復 4# liao83


    成功有效
    謝謝感恩




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