ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > Excel VBA > 抓取网页基金信息

抓取网页基金信息

作者:绿色风 分类: 时间:2022-08-17 浏览:141
楼主
嘉昆2011
问题陈述:
要求把  http://www.cninfo.com.cn/information/fund/netvalue/000001.html  中的“000001”分别用A列的代码替代(代码不足6位数在左边用0补足6位数),直到A列出现空格结束VBA。把网页中的“基金简称”、第一列“截止日期”、“单位资产净值”这三项分别填入对应的 B ,C ,D 列。

 

效果图:

 

具体步骤:
1,对A列设置文本格式,命名动态名称Code:
  1. =Sheet1!$A$2:INDEX(Sheet1!$A:$A,COUNTA(Sheet1!$A:$A))
其他列也建立相应的动态名称Name(Date,NetValue):
  1. =OFFSET(Sheet1!$A$2,,1,COUNTA(Sheet1!$A:$A)-1)
2,编写代码,用控件建立链接:
  1. Sub Test()
  2.    
  3.     Range("B2:D" & Range("Code").Count + 1).ClearContents   
  4.    
  5.     Dim IE As New InternetExplorer  
  6.     For i = 1 To Range("Code").Count
  7.     'IE.Visible = True  
  8.     IE.navigate "http://www.cninfo.com.cn/information/fund/netvalue/" & Range("Code").Cells(i, 1) & ".html"
  9.     Do
  10.         DoEvents
  11.     Loop Until IE.readyState = READYSTATE_COMPLETE
  12.    
  13.     Dim Doc As HTMLDocument
  14.     Set Doc = IE.document
  15.     Set tb1 = IE.document.all.tags("table")(0)
  16.         Range("Name").Cells(i, 1) = Split(tb1.Rows(0).Cells(0).innerText, "£º")(2)
  17.     Set tb2 = IE.document.all.tags("table")(1)
  18.         Range("Date").Cells(i, 1) = tb2.Rows(1).Cells(0).innerText
  19.         Range("NetValue").Cells(i, 1) = tb2.Rows(1).Cells(1).innerText
  20.     Next
  21.     IE.Quit

  22. End Sub

 


推荐阅读:
http://www.exceltip.net/thread-39369-1-1.html


相关案例:
http://www.exceltip.net/thread-38142-1-1.html

http://www.exceltip.net/thread-38325-1-1.html


附件:

ET1022_VBAWEB.rar
2楼
peterchen
嘉昆版主:真正的大侠之一,解释很详细,还有参考资料,对小菜有学习有很好的参考意义,少走不少弯路,够小菜俺学几个月的了,感谢感谢!
3楼
い卋玑┾宝珼
昆哥太强大了
4楼
嘉昆2011
西西过奖了。
5楼
老糊涂
学习
6楼
doron
简直膜拜!
7楼
lvbin2ooo
感谢分享

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap