【发布时间】:2020-06-28 18:55:02
【问题描述】:
我正在使用以下代码将文本字符串的部分加粗,在这种情况下,单词“Fish”位于单词“Oil”之后的括号中:
Sub ReplaceAndFormat16()
Dim sConst1 As String, sReplaceMent As String
Dim rRange As Range, rFormat As Range
sConst1 = "Fish"
sReplaceMent = "Oil (" & sConst1 & ")"
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "Oil (Fish)"
.Replacement.Text = sReplaceMent
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceOne
If .Found Then
Set rRange = Selection.Range
Set rFormat = ActiveDocument.Range(rRange.Start + 5, rRange.Start + 5 + VBA.Len(sConst1))
rFormat.Font.Bold = True
End If
End With
End Sub
此代码运行良好,但仅将第一个实例加粗,并且我的文档可能有多达四个需要将格式设置为粗体的短语实例。 如何修改代码,使其继续并加粗文档中的所有实例?我对 VBA 很陌生,如果这看起来是个愚蠢的问题,我深表歉意。
【问题讨论】: