VBA获取HTML文档的DOM

时间:2014-10-16 18:17:15

标签: html vba dom

我希望Excel解析特定表的HTML文件。

我当前的方法是获取文件的DOM表示并解析它。问题是DOMDocument60正在抛出一个解析错误(“无效语法”)。经过一些研究后,我发现DOMDocument60对象只与XML兼容。

是否有其他选项可以获取HTML文件的DOM?

Sub myWebTest()
    On Error Resume Next
    Set File = CreateObject("Msxml2.XMLHTTP")

    File.setTimeout 2000, 2000, 2000, 2000
    File.Open "GET", "http://www.microsoft.com/en-au/default.aspx:80", False
    'This is IE 8 headers
    File.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)"
    File.Send

    On Error GoTo 0

    Set dom = CreateObject("Msxml2.DOMDocument")
    'Dim dom As New DOMDocument60
    dom.LoadXML File.ResponseText
    MsgBox dom.ChildNodes.Length
End Sub

1 个答案:

答案 0 :(得分:1)

如果这是一次性的事情,您可以尝试使用Excel的内置导入工具。单击数据|获取外部数据(来自Web)。您可以为其指定HTML页面的URL。