返回列表 上一主題 發帖

[發問] 一個用VBA從網頁取得想要資料的寫法~

本帖最後由 white5168 於 2012-5-1 08:37 編輯

股票名稱及代碼是在網頁載入完成後,才用 JavaScript 動態產生的
所以 Web Query 抓不到
因為網頁資料還單純,建議用VBA開啟網頁後複製表格到excel,再選自己要的部份即可
關於股票代碼的部份請自行修改,
對於抓這樣的資料我都是用python,而且速度上也比VBA快很多
PS:寫程式時請記得加入註解,以養成良好的撰寫習慣,也讓後面的人可以方便學習
  1. Sub Test()
  2.     Const url As String = "http://jsjustweb.jihsun.com.tw/z/zc/zck/zck_6257.asp.htm"
  3.     Cells.Clear
  4.     Set ie = CreateObject("internetexplorer.application") '使用此方式可以免除 "設定引用項目"
  5.     With ie
  6.         .Visible = False 'True為開啟ie, False為不開啟ie
  7.         .Navigate url
  8.         Do While .ReadyState <> 4 '等待網頁開啟
  9.             DoEvents
  10.         Loop
  11.         .ExecWB 17, 2 'Select All
  12.         .ExecWB 12, 2 'Copy selection
  13.         Sheets("Sheet1").Cells.Select
  14.         Range("A1").Activate
  15.         ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
  16.                 False, NoHTMLFormatting:=True
  17.     End With
  18.     Columns("A:B").Delete
  19.     ie.Quit
  20.     MsgBox "資料複製結束"
  21. End Sub
複製代碼
這裡比較會有問題看不懂的地方大概就是ExecWB
我附上MSDN的連結,請自行參考 http://msdn.microsoft.com/en-us/library/aa752087(v=vs.85).aspx

TOP

        靜思自在 : 我們最大的敵人不是別人.可能是自己。
返回列表 上一主題