我有这个网站,我想将表中的数据提供给Microsoft Excel 我已经使用了许多VBA示例,但无法使它们中的任何一个工作,因为该表在表标记中没有名称或ID(在HTML中)。
这是网站:
如何“抓取”表格数据并将其放入Excel?
[编者注:11月13日:证实该网址是合法的。]
答案 0 :(得分:0)
您要搜索的表位于文档根目录(<html>
)下方的第21(!!!)级,并且类属性设置为“表3 强>“
<table width="100%" cellspacing="1" cellpadding="0" border="0" class="Table3">
在整个HTML中只使用一次,因此给出了相当不错的选择标准。所以我建议你做一些像
这样的事情Dim Doc As MSHTML.HTMLDocument
Dim ECol As MSHTML.IHTMLElementCollection
Dim IFld As MSHTML.IHTMLElement
Set ECol = Doc.getElementsByTagName("table")
For Each IFld In ECol
If VarType(IFld.getAttribute("class")) <> vbNull Then
If IFld.getAttribute("class") = "Table3" Then
' further process the Inner HTML of IFld ...
End If
End If
Next
' ...
在检查String值之前首先检查VarType是检测&amp;排除不包含任何类元素的表元素,在这种情况下,类名上的If
将失败并显示错误。
VBA调试器和 F8 键是你的朋友!