View Single Post
 
Old 11-04-2013, 04:17 AM
macropod's Avatar
macropod macropod is offline Windows 7 32bit Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,467
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Perhaps:
Code:
Sub ConditionalHighlight()
Application.ScreenUpdating = False
Dim vFindText As Variant, StrWrds As String, i As Long
vFindText = "Note,Notes"
vFindText = Split(vFindText, ",")
StrWrds = ",The,Each,"
For i = LBound(vFindText) To UBound(vFindText)
  With ActiveDocument.Range
    With .Find
      .ClearFormatting
      .Replacement.ClearFormatting
      .Forward = True
      .Format = False
      .MatchWildcards = False
      .MatchAllWordForms = False
      .MatchWholeWord = True
      .Wrap = wdFindStop
      .Text = vFindText(i)
      .Replacement.Text = ""
      .Execute
   End With
    Do While .Find.Found
      With .Duplicate.Words.First
        If LCase(.Next.Words.First.Characters.First) = .Next.Words.First.Characters.First Then
          .MoveEnd wdWord, 1
          If .Characters.First.Previous <> vbCr Then
            If InStr(StrWrds, "," & Trim(.Previous.Words.First.Text) & ",") > 0 Then
              .MoveStart wdWord, -1
              .Duplicate.HighlightColorIndex = wdBrightGreen
            ElseIf LCase(.Previous.Words.First.Characters.First) = .Previous.Words.First.Characters.First Then
              If .Previous.Words.First.Characters.First.Previous = vbCr Then
                .MoveStart wdWord, -1
                .Duplicate.HighlightColorIndex = wdBrightGreen
              End If
            End If
          End If
        End If
      End With
      .Collapse wdCollapseEnd
      .Find.Execute
    Loop
  End With
Next i
Application.ScreenUpdating = True
End Sub
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote