哪位高手会在VB中用MSHTML获取table中的数据?我的代码报错!
有谁会在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




