如何使文本之间的HTML标签加粗?



我有一个类似的文本:

(27)Some normal text<b>, and some bold text</b>, in a paragraph<b>.</b>.

我尝试了以下代码。它使文本加粗,但不删除HTML标记,并且部分文本也被删除:

Sub BoldTags()
Dim X As Long, BoldOn As Boolean
BoldOn = False 'Default from start of cell is not to bold
For X = 1 To Len(ActiveCell.Text)
If UCase(Mid(ActiveCell.Text, X, 3)) = "<b>" Then
BoldOn = True
ActiveCell.Characters(X, 3).Delete
End If
If UCase(Mid(ActiveCell.Text, X, 4)) = "</b>" Then
BoldOn = False
ActiveCell.Characters(X, 4).Delete
End If
ActiveCell.Characters(X, 1).Font.Bold = BoldOn
Next
End Sub

作为理解问题的快速开始

为了成功地使HTML标签之间的文本加黑,有必要设置正确的开始和结束标签<b> ... </b>(或者也要识别-在这种情况下毫无意义-<b/>标签,这将是一个开始和结束标签,中间没有任何文本)。此外,</b><b></b>不是常规标记,不会被您的代码可靠地识别,因此成对字符格式化在这里会导致完全混乱。

如果你的帖子不仅仅是关于拼写错误,我建议消除或以其他方式中和这些不正确的条目,例如Replace,但无论如何都要提前验证从<b></b>标签的正确更改。-请随意使用上面的解释一步一步地尝试,探索一些html基础知识,只有当你遇到一个具体的,可重复的问题与你自己现在改进的代码。

最新更新