![]() |
|
#1
|
|||
|
|||
|
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 |