Sub LoopGetStockData()
Dim StartTime As Variant
Dim UsedTime As Variant
StartTime = VBA.Timer Cells.ClearContents
For y = 2017 To 2007 Step -1
For s = 4 To 1 Step -1
GetStockData "600000", y, s
Next s
Next UsedTime = VBA.Timer - StartTime
Debug.Print "UsedTime :" & Format(UsedTime, "#0.0000 Seconds")
'MsgBox "UsedTime :" & Format(UsedTime, "#0.0000 Seconds") End Sub
Sub GetStockData(ByVal StockNo As String, ByVal YearNo As String, ByVal SeasonNo As String) URL = "http://xxx.com/trade/lsjysj_" & StockNo & ".html?year=" & YearNo & "&season=" & SeasonNo
'发送请求
With CreateObject("WinHttp.WinHttpRequest.5.1")
' With CreateObject("MSXML2.XMLHTTP")
.Open "GET", URL, False
.setRequestHeader "Content-Type", "text/html"
.Send
WebText = .responsetext
'Debug.Print WebText
'Range("A1").Value = WebText
End With Dim OneTable As Object
Dim OneTh As Object
Dim OneTr As Object
Dim tHead As Object
Dim tBody As Object
Dim r As Long, c As Long
With CreateObject("htmlfile")
.write WebText
Set OneTable = .getElementsByTagName("table")(3)
r = Cells(Cells.Rows.Count, 1).End(xlUp).Row + 1
If r = 2 Then r = 1 Set tHead = OneTable.FirstChild
Set tr = tHead.FirstChild
c = 0
If r = 1 Then
For Each OneTh In tr.ChildNodes
c = c + 1
Cells(r, c).Value = OneTh.innerText
Next OneTh
End If
Set tBody = tHead.NextSibling
For Each OneTr In tBody.ChildNodes
r = r + 1
c = 0 For Each td In OneTr.ChildNodes
c = c + 1
Cells(r, c).Value = td.innerText
Next td
Next OneTr End With Set OneTable = Nothing
Set OneTh = Nothing
Set OneTr = Nothing
Set tHead = Nothing
Set tBody = Nothing End Sub

  

20180226xlVbaGetStockData的更多相关文章

随机推荐

  1. ODAC(V9.5.15) 学习笔记(七)TOraUpdateSQL

    名称 类型 说明 DataSet 指向需要执行更新操作的数据集 DeleteObject 当执行删除操作时,通过该属性执行另外一个数据集,由后者来执行更多的删除动作 DeleteSQL TString ...

  2. ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(2)

    2.连接相关 名称 类型 说明 Connection 指向一个数据库连接对象 Disconnected 设置为True将在数据库关闭后继续保持数据集的开启状态. 3. 数据获取 名称 类型 说明 Fe ...

  3. 如何安装整个linux系统中所需要的mp3播放库插件? 可以在安装rpmfusion仓库后直接通过dnf install进行按照就可以了

    在vi的界面中, 前面的数字, 表示一行. 而对于中文而言, 并不一定是"一个文本行"就是一行, 而是以 回车(硬回车)为标志, 来判定一行的. 而dd, yy等也是以" ...

  4. 挺不错的Java自学网站

    挺不错的Java自学网站 http://how2j.cn?p=29369

  5. 【C#】取整函数Math.Round、Math.Ceiling和Math.Floor区别

    Math.Round 原则: 四舍六入五取偶. 也就是说 0.1-0.4为0 0.5为0 0.6-0.9为1 1.5为2 Math.Ceiling 原则: 有小数就加1 0.1 = 1 Math.Fl ...

  6. --HTML标签2

    表单元素: <input>标签 搜集用户信息 属性:type=" " text 默认值 size 长度 value 规定值 readonly 规定值 placehold ...

  7. 【BZOJ 5125】小Q的书架

    Problem Description 小 \(Q\) 有 \(n\) 本书,每本书有一个独一无二的编号,现在它们正零乱地在地上排成了一排. 小 \(Q\) 希望把这一排书分成恰好 \(k\) 段,使 ...

  8. [从零开始搭网站五]http网站Tomcat配置web.xml和server.xml

    点击下面连接查看从零开始搭网站全系列 从零开始搭网站 上一章我们在CentOS下搭建了Tomcat,但是还是没有跑起来...那么这一章就把最后的配置给大家放上去. 有两种方式:一种是用 rm -f 给 ...

  9. android studio 的基本使用和建立一个小项目

    https://github.com/allenxieyusheng/Android-Studio

  10. IIS发布静态页面配置

    第一步:按照正常网站发布添加网站: 第二步:修改该网站的默认文档: 第三步:添加默认文档,把静态页的名称添加进去: 第四步:重启网站,浏览: