在VBA中使用Treewalker遍历HTML DOM

在VBA中使用Treewalker遍历HTML DOM,html,internet-explorer,excel,vba,Html,Internet Explorer,Excel,Vba,如果我在VBA中创建IE应用程序对象,我可以下载网页,还可以使用文档属性调用getElementById等函数。然而,我非常需要DOM遍历功能 文档定义了一个treeWalker对象,它看起来很有前途,但我就是无法让createTreeWalker工作。在调用createTreeWalker的函数时,我得到了一个所需对象错误。有人使用过这种方法吗?或者有人能给我举一个例子,说明通过VBA使用了treeWalker。看来treeWalker至少要到IE9才能实现(很遗憾,我的雇主没有提供)。但是,

如果我在VBA中创建IE应用程序对象,我可以下载网页,还可以使用
文档
属性调用
getElementById
等函数。然而,我非常需要DOM遍历功能


文档定义了一个
treeWalker
对象,它看起来很有前途,但我就是无法让
createTreeWalker
工作。在调用
createTreeWalker
的函数时,我得到了一个
所需对象
错误。有人使用过这种方法吗?或者有人能给我举一个例子,说明通过VBA使用了
treeWalker

看来treeWalker至少要到IE9才能实现(很遗憾,我的雇主没有提供)。但是,我仍然使用以下属性管理DOM遍历:

.childNodes(x) 'x begins at 0
.parentNode
.nextSibling
.innerHTML

这些属性几乎适用于
getElementById()
可能抛出的任何节点,并且这些属性也在早期的IE版本中实现。

无法帮助TreeWalker,但我要告诉你,我花了很长时间试图遍历HTMLDOM,直到我发现我需要引用
Document.frame.Document.control
,而不是
Document.frame.control
。这是很久以前的事了,而且是雇主专有的……如果相关网页是格式良好的XHTML,那么您可以使用
XMLHTTP60
对象来下载它们-请参阅