楼主 xmyjk |
Q:如何运用VBA下载网络上的上市公司2010年年报数据报表? 网址:
A:- Option Explicit
- Sub test()
- Dim tmp() As String, i As Integer, arr() As String, xmlhttp As Object, N As Long, tmp1() As String, p As Long
-
- [a1:N1] = Split("序号,股票代码,股票简称,每股收益(元),年报收益同比增长,季度收益环比增长,每股净资产(元),每股现金流量(元),净资产收益率(%),主营收入增长(%),主营利润增长率(%),主营毛利率(%),分配方案,公告日期", ",")
-
- Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
- For p = 1 To 24
- N = [a65536].End(xlUp).Row + 1
- With xmlhttp
- .Open "get", "http://data.eastmoney.com/bbsj/201012/fsrq/" & p & ".html", False
- .send
- tmp = Filter(Split(Replace(Replace(Replace(Replace(Split(Split(.responsetext, "alt="""" /></a></th>")(1), "<tr class=""list_pager"">")(0), "</a>", ""), " </nobr></td>", ""), "</span>", ""), "</nobr>", ""), "</td>"), "<td>")
- End With
- ReDim arr(UBound(tmp) \ 14, 13)
- For i = 0 To UBound(tmp)
- tmp1() = Split(tmp(i), ">")
- arr(i \ 14, i Mod 14) = tmp1(UBound(tmp1))
- Next
- Cells(N, 1).Resize(UBound(arr) + 1, UBound(arr, 2) + 1) = arr
- [a:n].Columns.AutoFit
- Erase tmp, tmp1
- Erase arr
- Next
-
- Set xmlhttp = Nothing
-
- MsgBox "Ok"
- End Sub
2010年报.rar |