我有这个网站,我想将表中的数据获取到 Microsoft Excel。
我使用了许多 VBA 示例,但无法让它们中的任何一个工作,因为表格在表格标记(在 HTML 中)中没有名称或 ID。
这是网站:
如何“抓取”表格数据并将其放入 Excel?
[编者注 11 月 13 日:验证 URL 是合法的。]
我有这个网站,我想将表中的数据获取到 Microsoft Excel。
我使用了许多 VBA 示例,但无法让它们中的任何一个工作,因为表格在表格标记(在 HTML 中)中没有名称或 ID。
这是网站:
如何“抓取”表格数据并将其放入 Excel?
[编者注 11 月 13 日:验证 URL 是合法的。]
您要查找的表位于文档根 ( <html>
) 以下的第 21 (!!!) 级,并且其类属性设置为“ Table3 ”的值
<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 是为了检测并排除不包含任何类元素的表元素,在这种情况下,If
on 类名将失败并出现错误。
VBA 调试器和F8关键是你的朋友!