0

有人可以帮我删除 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

如果有人可以帮助我,将不胜感激!

4

1 回答 1

0

您可以尝试三种不同的选项来解析 html:

  1. 按照我的建议组合 InStr、Mid 和/或 Replace。

  2. 使用 VBScript 的 RegExp 库。您需要通过单击“工具”--->“参考”将其包含到您的 VBA 项目中,然后选中“Microsoft VBScript 正则表达式 5.5”旁边的框。正则表达式是一个非常强大的文本解析工具,但它确实需要一些时间来适应语法。我发现这种模式允许我将日期/评论作为子匹配:<p></p>([^<]*)<br />([^<]*). 我假设您是从完整的网页中提取该示例,因此您需要调整该模式以完全匹配您正在寻找的部分。 这个站点有一个很好的关于使用 VBScript RegExp 库的教程。

  3. 使用更高级别的 HTML 解析器。我建议使用 MSHTML 库,您可以通过单击“工具”--->“参考”然后选中“Microsoft HTML 对象库”旁边的框将其添加到您的 VBA 项目中。该解析器可以识别 HTML 段落、中断和表格等结构。

在我看来,如果你愿意花时间学习它,正则表达式将是你最好的选择。InStr/Replace 方法可能无法解释网页内容的可变性,而 HTML 方法可能会过度使用,尤其是在示例 HTML 中缺少格式的情况下。

解析后,您可以使用 Excel Worksheet 和 Range 对象解决问题的第二部分。就像我们所说的那样,如果您可以整理一些代码,它将更容易为您提供帮助。

于 2013-10-21T22:23:26.917 回答