- 帖子
- 90
- 主題
- 16
- 精華
- 0
- 積分
- 114
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- sp2
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-7-9
- 最後登錄
- 2018-10-7
|
4#
發表於 2012-5-1 07:56
| 只看該作者
本帖最後由 white5168 於 2012-5-1 08:37 編輯
股票名稱及代碼是在網頁載入完成後,才用 JavaScript 動態產生的
所以 Web Query 抓不到
因為網頁資料還單純,建議用VBA開啟網頁後複製表格到excel,再選自己要的部份即可
關於股票代碼的部份請自行修改,
對於抓這樣的資料我都是用python,而且速度上也比VBA快很多
PS:寫程式時請記得加入註解,以養成良好的撰寫習慣,也讓後面的人可以方便學習- Sub Test()
- Const url As String = "http://jsjustweb.jihsun.com.tw/z/zc/zck/zck_6257.asp.htm"
- Cells.Clear
- Set ie = CreateObject("internetexplorer.application") '使用此方式可以免除 "設定引用項目"
- With ie
- .Visible = False 'True為開啟ie, False為不開啟ie
- .Navigate url
- Do While .ReadyState <> 4 '等待網頁開啟
- DoEvents
- Loop
- .ExecWB 17, 2 'Select All
- .ExecWB 12, 2 'Copy selection
- Sheets("Sheet1").Cells.Select
- Range("A1").Activate
- ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
- False, NoHTMLFormatting:=True
- End With
- Columns("A:B").Delete
- ie.Quit
- MsgBox "資料複製結束"
- End Sub
複製代碼 這裡比較會有問題看不懂的地方大概就是ExecWB
我附上MSDN的連結,請自行參考 http://msdn.microsoft.com/en-us/library/aa752087(v=vs.85).aspx |
|