【发布时间】:2020-06-12 16:40:29
【问题描述】:
使用 VBA 解析单元格行中的 HTML 时,某些标签会出现问题。
例如,如果我在 excel 单元格中有以下内容:
<div><section>hello</section></div>
然后我应用以下函数
Public Function mainclean(sourceText As String) As String
Dim DOC As New HTMLDocument
DOC.body.innerHTML = sourceText
mainclean = DOC.body.innerHTML
End Function
我得到的是以下内容:
<DIV>hello</SECTION></DIV>
节标签的开头被剥离。 很明显,标签部分没有被识别为 HTML 代码。
类似<mycustomtag></mycustomtag>这样的非html标签也会发生同样的情况
是否存在任何解决方法?
谢谢
【问题讨论】:
-
可能是因为您将
sourceText声明为字符串。您将DOC声明为HTMLDocument,但随后将其转换为带有DOC.body.innerHTML = sourceText的字符串。不过只是猜测。 -
我不认为
HTMLDocument实现了最新版本的 IE - 您可能会发现不支持最近/HTML5 标签。 -
如果您想要 html 的内部文本,请将
innerHTML更改为innerText。您的 html 代码在 Excel 单元格中,因为?我从来没有听说过这是必要的。 -
@Zwenn - 很好 - 我完全错过了......
-
@TimWilliams 首先我也忽略了它并写了一些完全不同的东西。 String in, String out 让我分心了。