網路上有很多實用的資料,可以抓到Excel裡,然後在整理分析。
以往用Web Query只要注意是Get還是Post查詢,就可以找出資料所在的真正網址。
可是一但遇到查詢的字串輸入後,資料才在網站用JavaScript 動態產生的網頁,這種的
用 Web Query抓不到。
方法是,使用VBA去開啟IE然後,在載入資料。
以下提供範例:
-------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
' Const url As String = "http://goodinfo.tw/StockInfo/StockDividendPolicy.asp?STOCK_ID=2330"
Const url As String = "http://goodinfo.tw/StockInfo/StockDividendPolicy.asp?STOCK_ID=2330" ' 正確的
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
Range("A1").Activate
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
False, NoHTMLFormatting:=True
End With
Columns("A:E").Delete ' 將匯入時 A、E 兩欄移除
Columns("B:G").Delete
Rows("1:5").Delete
Rows("2:12").Delete
ie.Quit
' MsgBox "資料複製結束" ' 離開前顯示一小視窗提醒,按它後即結束。
End Sub
----------------------------------------------------------------------------
參考來源:
http://forum.twbts.com/viewthread.php?tid=6453
沒有留言:
張貼留言