在 VBA 中解析 getElementsByTagName 的 HTML 后期绑定是什么?

What is the late-binding for HTML parsing getElementsByTagName in VBA?

提问人:kyarudata 提问时间:3/6/2023 更新时间:3/6/2023 访问量:46

问:

给定以下 HTML 代码:

<td>blabla</td>

我想在 VBA 中使用 getElementsByTagName 来获取结果 blabla

我一直在尝试四处搜索,但是我看到的所有帖子都涉及使用Internet Explorer作为对象。我想写一个宏,其中 HTML 代码已经预先给出,所以没有 IE 对象或抓取。

我真的在努力定义哪些后期绑定对象才能让它工作。

Sub Parser()
    Dim HTMLcode As Object

    HTMLcode = "<td>blabla</td>"

    TestVar = HTMLcode.getElementsByTagName("td").Item(0).innerText
    Debug.Print TestVar
End Sub

上面的代码显然不起作用,但我觉得我已经走到了死胡同。我应该如何定义才能让上述宏输出 blablaHTMLcode

VBA HTML 解析

评论


答:

1赞 Domenic 3/6/2023 #1

请尝试以下操作...

Sub Parser()

    Dim htmlDoc As Object
    Set htmlDoc = CreateObject("htmlfile") 'create an new instance of an HTML document

    Dim htmlCode As String
    htmlCode = "<table><td>blabla</td></table>" 'must include table element
    
    htmlDoc.body.innerHTML = htmlCode

    Dim TestVar As String
    TestVar = htmlDoc.getElementsByTagName("td").Item(0).innerText
    
    Debug.Print TestVar
    
End Sub

评论

0赞 kyarudata 3/6/2023
谢谢!但为什么需要<表>呢?
0赞 Domenic 3/6/2023
如果没有它,该方法将无法找到该元素。getElementsByTagNametd