- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
6#
發表於 2016-6-9 14:30
| 只看該作者
回復 5# caesar0125
我用IE8 抓取資料也有困難
改用 CreateObject("msxml2.xmlhttp") + CreateObject("htmlfile")
試看看- Sub goodinfo_合併財報()
- Dim xTable As Object, k As Integer, C As Integer, R As Integer, rc As Integer, sn As Integer
- Dim url As String, i As Integer, E As Variant
- Dim oXmlhttp As Object, oHtmldoc As Object, surl, op
- 'Sheets("總表").Select
- rc = Sheets("總表").Cells(Rows.Count, 1).End(xlUp).Row
- Sheets("營運績效").UsedRange.Clear
- For i = 5 To rc
- sn = Sheets("總表").Cells(i, 1)
- url = "http://goodinfo.tw/StockInfo/StockBzPerformance.asp?STOCK_ID=" & sn & " &YEAR_PERIOD=10&RPT_CAT=M_YEAR"
- Set oXmlhttp = CreateObject("msxml2.xmlhttp")
- Set oHtmldoc = CreateObject("htmlfile")
- With oXmlhttp
- .Open "Get", url, False
- .Send
- oHtmldoc.write .responseText
- End With
- Set xTable = oHtmldoc.all.tags("TABLE")
- With Sheets("營運績效")
- ' .Cells.Clear
- For Each E In Array(11, 13, 19) '11,13,19 "TABLE"
- k = k + 1
- For R = 0 To xTable(E).Rows.Length - 1
- For C = 0 To xTable(E).Rows(R).Cells.Length - 1
- .Cells(k, C + 1) = xTable(E).Rows(R).Cells(C).innertext
- Next
- k = k + 1
- Next
- Next
- End With
- Next
- End Sub
複製代碼 |
|