![]() |
#1
|
|||
|
|||
![]()
How to programmatically (VBA) highlight in yellow any occurrence of " " (two blank spaces) in a document?
The code must select the character before and after, for the highlight to work, like "? ?". Thanks!
__________________
Backup your original file before doing any modification. |
#2
|
|||
|
|||
![]() Code:
Sub ScratchMacroI() 'A basic Word macro coded by Greg Maxey Dim oRng As Range Set oRng = ActiveDocument.Range With oRng.Find .Text = " " .MatchWildcards = True While .Execute oRng.InsertBefore "~" oRng.InsertAfter "~" oRng.HighlightColorIndex = wdYellow oRng.Collapse wdCollapseEnd Wend End With lbl_Exit: Exit Sub End Sub Sub ScratchMacroII() 'A basic Word macro coded by Greg Maxey Dim oRng As Range Set oRng = ActiveDocument.Range With oRng.Find .Text = " " .MatchWildcards = True While .Execute oRng.MoveStart wdCharacter, -1 oRng.MoveEnd wdCharacter, 1 oRng.HighlightColorIndex = wdYellow oRng.Collapse wdCollapseEnd Wend End With lbl_Exit: Exit Sub End Sub |
#3
|
|||
|
|||
![]()
Works fine! Thanks!
__________________
Backup your original file before doing any modification. |
#4
|
|||
|
|||
![]()
Is there a single sub that will do this for a list of words? Based on your code.
This code I was editing is not working: Code:
Set oDoc = ActiveDocument aFind = Array(". ,", "house") Set oRng = oDoc.range For x = 0 To UBound(aFind) With oRng.Find .Text = aFind(x) .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False Do While .Execute(Forward:=True) = True: oRng.HighlightColorIndex = wdYellow: Loop End With Next x
__________________
Backup your original file before doing any modification. |
#5
|
|||
|
|||
![]()
If you are going to pass drive-by questions at least show some effort to post structured code and declare your variables.
Code:
Option Explicit Sub ScratchMacro() 'A basic Word macro coded by Greg Maxey Dim lngIndex As Long Dim oDoc As Document Dim oRng As Range Dim arrFind Set oDoc = ActiveDocument arrFind = Array(". ,", "house") For lngIndex = 0 To UBound(arrFind) Set oRng = oDoc.Range With oRng.Find .Text = arrFind(lngIndex) .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False Do While .Execute(Forward:=True) = True: oRng.HighlightColorIndex = wdYellow: Loop End With Next lngIndex lbl_Exit: Exit Sub End Sub |
#6
|
|||
|
|||
![]()
Sorry! The code is inside another sub, so I forgot to copy the variable declaration part.
Works fine! Thank you!
__________________
Backup your original file before doing any modification. |
#7
|
|||
|
|||
![]()
Hi gmaxey,
How to highlight the first character of a paragraph that starts with lowercase letters? The search mask should look something like "^ p [a-z]" Thanks.
__________________
Backup your original file before doing any modification. |
#8
|
|||
|
|||
![]()
Hi, this thread is solved. Last question is not need anymore.
__________________
Backup your original file before doing any modification. |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
highlight bar | freeriding | Project | 0 | 12-07-2018 05:25 AM |
![]() |
paik1002 | Word VBA | 3 | 12-15-2015 05:17 PM |
![]() |
aolszewski | Word VBA | 3 | 11-23-2013 02:07 AM |
![]() |
Ulodesk | Word Tables | 2 | 05-26-2013 02:44 PM |
find - reading highlight - highlight all / highlight doesn't stick when saved | bobk544 | Word | 3 | 04-15-2009 03:31 PM |