Я использую следующий код, чтобы выделить части текстовой строки жирным шрифтом, в этом случае слово «рыба» заключено в скобки после слова «масло»:
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, поэтому извиняюсь, если это кажется глупым вопросом.