这个问题被问了很多次可能是相同的,但我还没有找到特定的解决方案。
我有ms访问数据库,有一些字段带有" Long Text
' 文本格式 ' Rich Text
我在Excel中创建了一个使用此数据库并从这些字段中获取值的宏。在 excel 中获取值后,它向我显示带有 Html 标签的字符串。
我正在使用从这里复制的以下功能。 这很好,删除所有标签,但它给我的输出如下
函数前:
<div>xxxxxxx ccccccccd eeerr sdff aerderfng</div>
<div> </div>
<div>xxxxxx rrrrrr</div>
<div>-> V.tredf</div>
应用函数后
xxxxxxx ccccccccd eeerr sdff aerderfng
xxxxxx rrrrrr
-> V.tredf
我想从最终输出中删除那些额外的换行符或 Enter。我正在为此苦苦挣扎。
我的愿望输出我想要的东西是这样的
"xxxxxxx ccccccccd eeerr sdff aerderfng
xxxxxx rrrrrr
-> V.tredf"
只需将替换字符加倍,例如多次,最后只剩下一个换行符
Replace(sInput, vbNewLine & vbNewLine, vbNewLine)
Replace(sInput, Chr(13) & Chr(13), Chr(13))
Replace(sInput, Chr(10) & Chr(10), Chr(10))
Replace(sInput, Chr(10) & Chr(13) & Chr(10) &Chr(13), Chr(10) & Chr(13))
Replace(sInput, Chr(13) & Chr(10) & Chr(13) & Chr(10), Chr(13) & Chr(10))
您可以使用如下所示
RegEx
来摆脱所有此类字符。采用它以满足您的要求。
Public Sub RemoveBlankNewLineChar()
Dim rgEx As Object
Set rgEx = CreateObject("VBScript.RegExp")
With rgEx
.Global = True
.MultiLine = True
.Pattern = "n+"
' Adjust Selection part with suitable Excel Range References.
Selection.Value = .Replace(Selection.Value, vbCrLf)
End With
End Sub