1
我希望Excel解析特定表的HTML文件。VBA获取HTML文档的DOM
我目前的方法是获取该文件的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
好主意,但是我想每周更新一次相同格式的50页 – Alter 2014-10-16 18:40:50
您可以使用“获取外部数据”来录制宏,然后将其用作脚本的起点。 – ariscris 2014-10-16 18:45:14
它工作得到一个表,但我真的想要整个文件的DOM表示。 我已经有一个代码基础,从网上检索HTML文件,我只是试图解析响应。使用导入工具使事情比使用我自己的解析器更复杂。 – Alter 2014-10-16 19:00:39