CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

哪位高手会在VB中用MSHTML获取table中的数据?我的代码报错!

楼主irischenxi()2006-07-04 13:48:08 在 VB / 控件 提问

 
  有谁会在VB中用MSHTML获取table中的数据?以下是我的一段代码(报错代码作了表示),请高手指教:  
   
  Private   Sub   Command1_Click()  
          WebBrowser.Navigate   "http://moneycentral.msn.com/home.asp"  
  End   Sub  
   
  Private   Sub   WebBrowser_DocumentComplete(ByVal   pDisp   As   Object,   URL   As   Variant)  
           
          Set   WebDoc   =   WebBrowser.Document  
   
          If   URL   =   _  
          "http://moneycentral.msn.com/detail/stock_quote?Symbol=MSFT"   Then  
                   
                  Dim   Tables   As   IHTMLElementCollection  
                  Set   Tables   =   WebDoc.All.tags("TABLE")  
                  Dim   Quote   As   IHTMLElement  
                  Set   Quote   =   _  
                  Tables.Item(14,   14).All.tags("TD").Item(2,   2)   '报错  
                  MsgBox   Quote.innerText  
          End   If  
  End   Sub  
   
   
  问题点数:50、回复次数:3Top

1 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2006-07-04 14:50:20 得分 50

Private   Sub   Command1_Click()  
          WebBrowser1.Navigate   "http://moneycentral.msn.com/home.asp"  
  End   Sub  
   
  Private   Sub   WebBrowser_DocumentComplete(ByVal   pDisp   As   Object,   URL   As   Variant)  
           
   
  End   Sub  
   
   
  Private   Sub   WebBrowser1_DocumentComplete(ByVal   pDisp   As   Object,   URL   As   Variant)  
          Set   WebDoc   =   WebBrowser1.Document  
   
          If   URL   =   _  
          "http://moneycentral.msn.com/detail/stock_quote?Symbol=MSFT"   Then  
                   
                  Dim   Tables   As   IHTMLElementCollection  
                   
                   
                  Set   Tables   =   WebBrowser1.Document.getElementsByTagName("Table")  
                   
                  Dim   Table   As   IHTMLTable  
                   
                  '这里需要看你要获得是哪一个表,这里取得是所有表中的第14个  
                  Set   Table   =   Tables.Item(14)  
                   
                  Dim   td   As   IHTMLTableCell  
                   
                   
                  Dim   Row   As   HTMLTableRow,   Cell   As   HTMLTableCell  
                  For   i   =   1   To   Table.rows.length   -   1             '   逐行处理  
                          Set   Row   =   Table.rows(i)  
                          j   =   0  
                          For   Each   Cell   In   Row.cells             '   逐列处理  
                                  Debug.Print   Cell.innerText,  
                                  j   =   j   +   1  
                          Next  
                           
                          Debug.Print  
                  Next  
          End   If  
  End   Sub  
   
  Top

2 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2006-07-04 14:50:49 得分 0

上面的代码是获得文档中的第14个表,然后逐行逐列处理的。Top

3 楼killl(好烦)回复于 2006-07-12 22:22:26 得分 0

http://www.microsoft.com/china/msdn/Archives/workshop/scrape.aspTop

相关问题

关键词

得分解答快速导航

  • 帖主:irischenxi
  • TechnoFantasy

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo