[vba]Код
Sub replaceHighlightText()
Dim i As Long
Dim currColor As Long
Dim prevColor As Long
Dim findColor As Long
Dim charStart As Long
Dim charEnd As Long
Dim bmCount As Long
Dim bmk As Bookmark
findColor = 7 '3 - голубой, 7 - желтый
charStart = 0
charEnd = 0
bmCount = 0
'удаление предыдущих закладок
For Each bmk In ActiveDocument.Bookmarks
If Left(bmk.Name, 3) = "BM_" Then bmk.Delete
Next bmk
'поиск начал и концов заливок заданным цветом
'и установка закладок
For i = 1 To ActiveDocument.Range.Characters.Count
currColor = ActiveDocument.Range.Characters(i).HighlightColorIndex
If currColor = findColor Then
If charStart = 0 Then charStart = i
ElseIf prevColor = findColor Then
charEnd = i
End If
If charStart > 0 And charEnd > 0 Then
'добавляем закладку
bmCount = bmCount + 1
ActiveDocument.Bookmarks.Add "BM_" & bmCount, ActiveDocument.Range(Start:=charStart - 1, End:=charEnd - 1)
charStart = 0
charEnd = 0
End If
prevColor = currColor
Next i
'замена символов
For Each bmk In ActiveDocument.Bookmarks
If Left(bmk.Name, 3) = "BM_" Then
bmk.Range.Text = "14" '36 - для голубого, 14 - для желтого
End If
Next bmk
End Sub
[/vba]