Excel VBA 抓HTML 中的某一個Table
- 帖子
- 6
- 主題
- 1
- 精華
- 0
- 積分
- 10
- 點名
- 0
- 作業系統
- Windows
- 軟體版本
- 7
- 閱讀權限
- 10
- 註冊時間
- 2014-7-20
- 最後登錄
- 2019-4-7
|
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 |
|
|
|
|
|
|
- 帖子
- 6
- 主題
- 1
- 精華
- 0
- 積分
- 10
- 點名
- 0
- 作業系統
- Windows
- 軟體版本
- 7
- 閱讀權限
- 10
- 註冊時間
- 2014-7-20
- 最後登錄
- 2019-4-7
|
2#
發表於 2014-7-20 21:58
| 只看該作者
VBA 抓取網頁內的某一個Table
請問各位大大,有人知道怎樣抓下列這個網址裡面的大Table嗎? 透過VBA
http://www.goodinfo.tw/stockinfo/StockSorter.asp? |
|
|
|
|
|
|
- 帖子
- 6
- 主題
- 2
- 精華
- 0
- 積分
- 16
- 點名
- 0
- 作業系統
- XP 32bit
- 軟體版本
- office 2003
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2013-12-10
- 最後登錄
- 2018-6-7
|
3#
發表於 2014-7-21 00:59
| 只看該作者
不知以下的連結可否幫到您...
http://white5168.blogspot.tw/2012/08/excel-vba_2330.html |
|
|
|
|
|
|
- 帖子
- 6
- 主題
- 1
- 精華
- 0
- 積分
- 10
- 點名
- 0
- 作業系統
- Windows
- 軟體版本
- 7
- 閱讀權限
- 10
- 註冊時間
- 2014-7-20
- 最後登錄
- 2019-4-7
|
4#
發表於 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 |
|
|
|
|
|
|
- 帖子
- 6
- 主題
- 1
- 精華
- 0
- 積分
- 10
- 點名
- 0
- 作業系統
- Windows
- 軟體版本
- 7
- 閱讀權限
- 10
- 註冊時間
- 2014-7-20
- 最後登錄
- 2019-4-7
|
5#
倒序看帖
發表於 2014-7-23 13:11
| 只看該作者
Excel VBA 抓HTML 中的某一個Table
|
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
6#
發表於 2014-7-23 22:36
| 只看該作者
回復 1# BarryHuang621a
建議移至 EXCEL程式區 詢問 |
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
7#
發表於 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
複製代碼 |
|
|
|
|
|
|
- 帖子
- 6
- 主題
- 1
- 精華
- 0
- 積分
- 10
- 點名
- 0
- 作業系統
- Windows
- 軟體版本
- 7
- 閱讀權限
- 10
- 註冊時間
- 2014-7-20
- 最後登錄
- 2019-4-7
|
8#
發表於 2014-8-10 20:54
| 只看該作者
Excel VBA 讀取網業存檔
本帖最後由 GBKEE 於 2014-8-11 05:31 編輯
請問各位大大:
我想要用VBA取得一個網頁然後把網頁的HTML檔案存下來請問要怎樣弄哩? |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
9#
發表於 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
複製代碼 |
|
|
|
|
|
|
- 帖子
- 6
- 主題
- 1
- 精華
- 0
- 積分
- 10
- 點名
- 0
- 作業系統
- Windows
- 軟體版本
- 7
- 閱讀權限
- 10
- 註冊時間
- 2014-7-20
- 最後登錄
- 2019-4-7
|
10#
發表於 2014-8-12 22:11
| 只看該作者
感謝您的回覆,因為之前一直沒有得到方向所以才一直發帖抱歉壓~~
您的範例我剛剛是過是可以的感謝感謝 |
|
|
|
|
|
|