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. 启动maven的web项目

    一.可以通过在pom中配置tomcat插件. 首先要确保你的仓库里有这个插件,然后按如下配置. <build> <plugins> <!-- 配置Tomcat插件 --& ...

  2. oracle数据库的一个表中,怎么设置字段的默认值

    如果表已经存在,用如下方法设置默认值. alter table 表名 modify 字段名 default 默认值; 如test表中设置address字段为'浙江省',可用如下语句: alter ta ...

  3. 【定制Android系统】Android O 在ROM中添加自己的 so 库(1)——Android.mk 与 Android.bp 的区别【转】

    本文转载自: 版权声明:本文为博主原创文章,转载时请注明原作者及出处.    https://blog.csdn.net/u014248312/article/details/82020204需求:在 ...

  4. linux下关于mysql的命令的用法

    所有关于mysql的命令都在/usr/bin/中, 使用 /usr/bin | grep 'mysql'可以列出这些mysql命令 导出数据库, 可以直接在 命令行中, 使用 mysqldump -u ...

  5. [HEOI2016/TJOI2016]树

    [HEOI2016/TJOI2016]树 思路 做的时候也是糊里糊涂的 就是求最大值的线段树 错误 线段树写错了 #include <bits/stdc++.h> #define FOR( ...

  6. Docker、Kubenets使用前配置

    1.开发人员需要确保机器上装有Docker并准确配置了Registry,能否推送相关镜像到Registry(运维人员无此要求) 2.能够访问Kubernetes APIServer相关API, 拥有相 ...

  7. Docker7之Docker overview

    Docker is an open platform for developing, shipping, and running applications. Docker enables you to ...

  8. springmvc异步上传图片并回调页面函数插入图片url代码示例

    <tr> <td class="search_td">属性值图片值:</td> <td> <input type=" ...

  9. C语言调用Python 混合编程

    导语 Python有很多库,Qt用来编写界面,自然产生C++调用Python的需求.一路摸索,充满艰辛 添加头文件搜索路径,导入静态库 我的python头文件搜索路径:C:\Python27amd64 ...

  10. Jquery Validate 相关参数

    Jquery Validate 相关参数 //定义中文消息 var cnmsg = { required: “必选字段”, remote: “请修正该字段”, email: “请输入正确格式的电子邮件 ...