20180226xlVbaGetStockData
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的更多相关文章
随机推荐
- ODAC(V9.5.15) 学习笔记(七)TOraUpdateSQL
名称 类型 说明 DataSet 指向需要执行更新操作的数据集 DeleteObject 当执行删除操作时,通过该属性执行另外一个数据集,由后者来执行更多的删除动作 DeleteSQL TString ...
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(2)
2.连接相关 名称 类型 说明 Connection 指向一个数据库连接对象 Disconnected 设置为True将在数据库关闭后继续保持数据集的开启状态. 3. 数据获取 名称 类型 说明 Fe ...
- 如何安装整个linux系统中所需要的mp3播放库插件? 可以在安装rpmfusion仓库后直接通过dnf install进行按照就可以了
在vi的界面中, 前面的数字, 表示一行. 而对于中文而言, 并不一定是"一个文本行"就是一行, 而是以 回车(硬回车)为标志, 来判定一行的. 而dd, yy等也是以" ...
- 挺不错的Java自学网站
挺不错的Java自学网站 http://how2j.cn?p=29369
- 【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 ...
- --HTML标签2
表单元素: <input>标签 搜集用户信息 属性:type=" " text 默认值 size 长度 value 规定值 readonly 规定值 placehold ...
- 【BZOJ 5125】小Q的书架
Problem Description 小 \(Q\) 有 \(n\) 本书,每本书有一个独一无二的编号,现在它们正零乱地在地上排成了一排. 小 \(Q\) 希望把这一排书分成恰好 \(k\) 段,使 ...
- [从零开始搭网站五]http网站Tomcat配置web.xml和server.xml
点击下面连接查看从零开始搭网站全系列 从零开始搭网站 上一章我们在CentOS下搭建了Tomcat,但是还是没有跑起来...那么这一章就把最后的配置给大家放上去. 有两种方式:一种是用 rm -f 给 ...
- android studio 的基本使用和建立一个小项目
https://github.com/allenxieyusheng/Android-Studio
- IIS发布静态页面配置
第一步:按照正常网站发布添加网站: 第二步:修改该网站的默认文档: 第三步:添加默认文档,把静态页的名称添加进去: 第四步:重启网站,浏览: