【发布时间】:2016-04-20 07:01:15
【问题描述】:
我有一个包含多个工作表的 Excel 工作簿,每个工作表都有多个包含 HTML 文本的单元格。如何将此文本直接转换为具有 HTML 标记中定义的所有格式的常规文本。是否有可能有一个可以扫描所有此类单元格并立即转换它们的宏?
【问题讨论】:
我有一个包含多个工作表的 Excel 工作簿,每个工作表都有多个包含 HTML 文本的单元格。如何将此文本直接转换为具有 HTML 标记中定义的所有格式的常规文本。是否有可能有一个可以扫描所有此类单元格并立即转换它们的宏?
【问题讨论】:
尝试下面的函数来去除所有的 html 标签(Bold 和 break 除外)并通过将 html 文本解析到这个函数来获取常规文本,比如 striphtml(你的 html 文本)。
Function StripHTML(sInput As String) As String
Dim RegEx As Object
Set RegEx = CreateObject("vbscript.regexp")
Dim sOut As String
With RegEx
.Global = True
.IgnoreCase = True
.MultiLine = True
.Pattern = "<(?!/?(?:br|b)\b)[^>]*>" 'Regular Expression for HTML Tags.
End With
sOut = RegEx.Replace(sInput, "")
StripHTML = sOut
Set RegEx = Nothing
End Function
【讨论】: