標題:
Excel VBA 抓HTML 中的某一個Table
[打印本頁]
作者:
BarryHuang621a
時間:
2014-7-20 16:49
標題:
Excel 外部資料
請問有人知道怎樣用Excel取得外部資料,我想要拿到Goodinfo這個link右邊下面的集保分級的資訊
http://www.goodinfo.tw/stockinfo/EquityDistributionClassHis.asp?STOCK_ID=1314
但是透過這樣的IQY分是要不會來,有大大知道怎樣弄嗎?
WEB
1
http://www.goodinfo.tw/stockinfo/EquityDistributionClassHis.asp?STOCK_ID=1314
Selection=15
Formatting=None
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=False
作者:
BarryHuang621a
時間:
2014-7-20 21:58
標題:
VBA 抓取網頁內的某一個Table
請問各位大大,有人知道怎樣抓下列這個網址裡面的大Table嗎? 透過VBA
http://www.goodinfo.tw/stockinfo/StockSorter.asp?
作者:
ssthree
時間:
2014-7-21 00:59
不知以下的連結可否幫到您...
http://white5168.blogspot.tw/2012/08/excel-vba_2330.html
作者:
BarryHuang621a
時間:
2014-7-21 23:25
回復
2#
ssthree
不好意思還是搞不太定,在我所需要的網址中
www.goodinfo.tw/StockInfo/StockSorter.asp
我知道我要的Table是第8個,哪位大大可以給一下簡單的VBA碼讓小弟參考嗎?我用過下列這樣的方式但是就是還是有問題
先用 ActiveSheet.QueryTables.Add("URL;" & weburl, Destination:=Range("A1")) 把我要的URL餵進去
.WebFormatting = xlWebFormattingNone
.WebTables = "8" <---這邊改成第8個table
.Refresh 0
.Delete
作者:
BarryHuang621a
時間:
2014-7-23 13:11
標題:
Excel VBA 抓HTML 中的某一個Table
本帖最後由 GBKEE 於 2014-8-1 19:34 編輯
請各位大大給我一個sample code我是想要取得下面的著網站的下面的大Table
看了好久還是弄不好呀
http://www.goodinfo.tw/stockinfo/StockSorter.asp?
或是給我一個範例是去抓某一個網頁裡面的table我在自己試試看怎樣改謝謝
作者:
ML089
時間:
2014-7-23 22:36
回復
1#
BarryHuang621a
建議移至 EXCEL程式區 詢問
作者:
GBKEE
時間:
2014-8-6 09:27
回復
1#
BarryHuang621a
你提供
智慧選股工具
的網址,在我的 XP, IE8 環境下執行很慢,有時會掛掉
請試試別的網址
Option Explicit
Sub Ex()
Dim D As Object, i As Integer, URL As String
URL = "http://forum.twbts.com/thread-12273-1-2.html"
'URL = "http://www.goodinfo.tw/stockinfo/StockSorter.asp?"
With CreateObject("InternetExplorer.Application")
.Navigate URL
.Visible = True
Do While .ReadyState <> 4 Or .Busy
DoEvents
Loop
Set D = .document.getElementsByTagName("table")
ActiveSheet.Cells.Clear
For i = 0 To D.Length - 1
Ep i, D(i).outerHTML
Next
.Quit
End With
End Sub
Private Sub Ep(i As Integer, S As String)
Dim R
With CreateObject("InternetExplorer.Application")
.Navigate "about:Tabs"
.Visible = True
.document.body.innerhtml = S
.ExecWB 17, 2 ' Select All
.ExecWB 12, 2 ' Copy selection
With ActiveSheet
R = IIf(.UsedRange.Rows.Count = 1, 1, .UsedRange.Rows.Count + 2)
.Cells(R, 1) = "第 " & i & " 個 Table"
.Cells(R, 1).EntireRow.Interior.Color = vbYellow
.UsedRange.Cells(R + 1, 1).Select
.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
End With
.Quit
End With
End Sub
複製代碼
作者:
BarryHuang621a
時間:
2014-8-10 20:54
標題:
Excel VBA 讀取網業存檔
本帖最後由 GBKEE 於 2014-8-11 05:31 編輯
請問各位大大:
我想要用VBA取得一個網頁然後把網頁的HTML檔案存下來請問要怎樣弄哩?
作者:
GBKEE
時間:
2014-8-11 06:32
本帖最後由 GBKEE 於 2014-8-11 08:34 編輯
回復
8#
BarryHuang621a
Excel 外部資料
VBA 抓取網頁內的某一個Table
Excel VBA 抓HTML 中的某一個Table
複製代碼
你發了
這些有相關的問題,請不需一直的發新主題
幫你整理一下,關於主題中的回覆,是否你要表達明白與否,不然回覆者會覺的是剃頭擔子一頭熱.
Excel VBA 讀取網業存檔
試試看是這樣嗎?
Option Explicit
Private Sub Ex()
Dim xml As Object '用來取得網頁資料
Dim stream 'As ADODB.stream '用來儲存二進位檔案
Dim URL As String '目的網址
Dim Title As String
Set xml = CreateObject("Microsoft.XMLHTTP")
Set stream = CreateObject("ADODB.stream")
URL = "https://tw.stock.yahoo.com/q/q?s=2303"
xml.Open "POST", URL, 0
xml.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xml.send
Title = Split(xml.responseText, "<title>")(1)
Title = Split(Title, "</title>")(0) & ".HTM" '指定網頁檔案名稱
Title = "D:\" & Title '網頁存檔位置
With stream
.Open
.Type = 1
.write xml.ResponseBody
If Dir(Title) <> "" Then Kill Title
.SaveToFile Title
.Close
End With
MsgBox "存檔於 " & Title
End Sub
複製代碼
作者:
BarryHuang621a
時間:
2014-8-12 22:11
感謝您的回覆,因為之前一直沒有得到方向所以才一直發帖抱歉壓~~
您的範例我剛剛是過是可以的感謝感謝
作者:
vavashop
時間:
2016-6-6 16:48
我還是看不是很懂@
ㄟ害
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)