有人可以帮我删除HTML代码并在excel中填充不同的列吗?
例如。 如果我的HTML代码是:
<p></p>10-16-2013 22:35<br/>I love pizza! Ordering was a breeze!<p></p>10-16-2013 13:19:46<br />this has time stamps too!<p></p>10-21-2013 11:55<br />This is a test<br />
如何在Excel中将其作为单独的列输出?
Column A Column B
10-16-2013 22:35 I love pizza! Ordering was a breeze!
10-16-2013 13:19:46 this has time stamps too!
10-21-2013 11:55 This is a test
如果有人可以帮助我,我将非常感激!
答案 0 :(得分:0)
您可以尝试使用三种不同的方法来解析html:
将InStr,Mid和/或Replace组合为mehow建议。
使用VBScript的RegExp库。您需要通过单击“工具”---&gt;将其包含到您的VBA项目中。 “引用”,然后选中“Microsoft VBScript Regular Expressions 5.5”旁边的框。正则表达式是一个非常强大的文本解析工具,但它需要一些时间来习惯语法。我发现这种模式允许我将日期/评论作为子匹配:<p></p>([^<]*)<br />([^<]*)
。我假设您正在从完整的网页中提取该示例,因此您需要调整该模式以完全匹配您正在寻找的部分。 This site有一个关于使用VBScript RegExp库的好教程。
使用更高级别的HTML解析器。我建议使用MSHTML库,您可以通过单击“工具”---&gt;将其添加到您的VBA项目中。 “引用”,然后选中“Microsoft HTML对象库”旁边的框。此解析器知道HTML段落,中断和表格等构造。
在我看来,如果你愿意花时间学习它,正则表达式将是你最好的选择。 InStr / Replace方法可能无法解释网页内容的可变性,HTML方法可能过度,特别是在示例HTML中缺少格式化。
解析后,您可以使用Excel工作表和范围对象解决问题的第二部分。就像我们注意到的那样,如果你能把一些代码放在一起,它会更容易帮助你。