2016-08-30 6 views
0

Следующий код vba удаляет все «цвета выделения текста» из документа Word, но я хочу, чтобы только «розовая подсветка» удалялась, оставив другие цвета подсветки нетронутыми. Любая помощь, дорогие члены, была бы высоко оценена. Спасибо.Цвет текста текста в тексте

Sub HighlightRemoveAllPink() 

    Selection.Find.ClearFormatting 
    Selection.Find.Highlight = wdColorPink 
    Selection.Find.Replacement.ClearFormatting 
    Selection.Find.Replacement.Highlight = 0 
    With Selection.Find 
     .text = "" 
     .Replacement.text = "" 
     .Forward = True 
     .Wrap = wdFindContinue 
     .Format = True 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchKashida = False 
     .MatchDiacritics = False 
     .MatchAlefHamza = False 
     .MatchControl = False 
     .MatchByte = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
    End With 

    Selection.Find.Execute Replace:=wdReplaceAll 


End Sub 

ответ

0

Во-первых, Selection.Find.Highlight ожидает логическое, так:

Selection.Find.Highlight = True 

Чтобы удалить определенный цвет, я использовал этот код:

With Selection.Find 
    .Highlight = True 
    Do While (.Execute(Forward:=True) = True) = True 
    If Selection.Range.HighlightColorIndex = wdColorPink Then 
     Selection.Collapse direction:=wdCollapseEnd 
    End If 
    Loop 
End With 
+0

не работает. и это текст, а не «цвет шрифта». – vicki

+0

Извините, отредактировал мое сообщение –

+0

спасибо брату, но не работает снова. можно повторно проверить на ур конец и поместить ваш замененный код в мой, и позвольте мне. ценю вашу помощь. Спасибо. – vicki

Смежные вопросы