#1
|
|||
|
|||
Remove highlight with specific color
I am using the below code to remove turquoise highlight from my document and it works well with one exception - it will not remove highlighting from the very first word of the document if that word is highlighted. Can anyone point me to the correction that I should make to fix that bug? Credit to forum member gmayor for this code found over on VBA Express.
Code:
Sub ClearHighlight() Dim hiliRng As Range For Each hiliRng In ActiveDocument.StoryRanges With hiliRng.Find .Highlight = True .Execute End With Do While hiliRng.Find.Execute If hiliRng.HighlightColorIndex = wdTurquoise Then hiliRng.HighlightColorIndex = wdNoHighlight hiliRng.Collapse 0 End If Loop If hiliRng.StoryType <> wdMainTextStory Then While Not (hiliRng.NextStoryRange Is Nothing) Set hiliRng = hiliRng.NextStoryRange Do While hiliRng.Find.Execute If hiliRng.HighlightColorIndex = wdTurquoise Then hiliRng.HighlightColorIndex = wdNoHighlight hiliRng.Collapse 0 End If Loop Wend End If Next hiliRng Set hiliRng = Nothing End Sub |
#2
|
|||
|
|||
It isn't a bug. You are explicitly ignoring the first instance found.
Code:
Sub ClearSpecificHighlight() Dim oRngStory As Range For Each oRngStory In ActiveDocument.StoryRanges Do With oRngStory.Find .Highlight = True Do While .Execute If oRngStory.HighlightColorIndex = wdTurquoise Then oRngStory.HighlightColorIndex = wdNoHighlight oRngStory.Collapse 0 End If Loop End With 'Get next linked story (if any) Set oRngStory = oRngStory.NextStoryRange Loop Until oRngStory Is Nothing Next lbl_exit: Exit Sub End Sub |
#3
|
|||
|
|||
I should have been more clear that I meant bug for my particular use case, not code bug. I wasn't familiar enough with the way that stories are handled to see the issue myself. However, your solution solved my problem, thank you!
|
Thread Tools | |
Display Modes | |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Find/remove underline with specific color | eduzs | Word VBA | 9 | 07-27-2020 07:43 AM |
VBA to highlight specific values in the spreadsheet | daiwuliz | Excel | 6 | 05-23-2018 10:30 AM |
Remove white text background (keeping the font color and page color intact | cc3125 | Word | 1 | 10-26-2015 06:44 PM |
Change highlight color | maceslin | Word | 3 | 04-30-2013 04:43 AM |
change One highlight Color to Another | Redbarn | Word VBA | 1 | 03-16-2013 02:03 PM |