excel - Excel 宏在 240 个字符标记处添加 HTML 粗体标签“中断”
问题描述
我有一个在单元格上运行的 Excel VBA 宏,用于在粗体文本周围添加 HTML 粗体标记(并在视觉上保持粗体格式)。尽管我发现对于长度大于 240 个字符的单元格,它会停止可靠地工作,但这种方法效果很好。
我不精通Excel VBA。我正在努力学习和弄清楚,但看不出什么是不正确的。
Sub Tester()
AddTags Range("A1")
End Sub
Sub AddTags(c As Range)
Dim p As Long, isB As Boolean
Do
p = p + 1
If p > Len(c.Value) Then Exit Do
If c.Characters(p, 1).Font.Bold And Not isB Then
'entering a bolded section
c.Characters(p, 0).Insert "<b>"
c.Characters(p, 3).Font.Bold = True
isB = True
p = p + 3 'skip the tag you just added
ElseIf Not c.Characters(p, 1).Font.Bold And isB Then
'leaving a bolded section
c.Characters(p, 0).Insert "</b>"
c.Characters(p, 4).Font.Bold = True
isB = False
p = p + 4 'skip the tag you just added
End If
Loop
'close any open tag
If isB Then c.Characters(p, 0).Insert "</b>"
End Sub
我所说的“break”示例:它将<b>
在适用的情况下添加开始代码,但不是用 关闭它</b>
,而是将接下来四个字符的文本格式更改为粗体。换句话说,如果在运行宏之后有一个短语“ Example sentence here”,它将显示为“ <b>
Example sentence here ”。正如我所说,这在单元格长度中始终超过 240 个字符。如果单元格长度少于 240 个字符,这似乎不是问题。
预期结果将是“ <b>
Example</b>
sentence here”
解决方案
推荐阅读
- python - Core Analytics API 3 max-results and start-index SyntaxError: keyword can't be an expression
- delphi - 在Delphi中更改具有不同名称的多个面板的颜色的过程
- javascript - 不和谐聊天框输入字段的类名是什么?
- c# - CopyPagesTo 复制字段字典错误(带有修复建议)或仅是错误 PDF 输入文件的结果?
- java - 来自其他包的 Api 出现错误“必须在调用 save() 之前手动分配此类的 ID”
- r - 按两组计算不同的值并总结错误
- salesforce - 根据 Salesforce 的自定义对象中的其他选项列表值/数值填充一个选项列表值
- reactjs - 如何使特定按钮在 React.js 上永久消失?
- go - 为什么取消引用的指针被传递给指针类型?
- vba - 为什么我在 VBA 上得到下标超出范围错误?