View Single Post
 
Old 01-28-2019, 03:56 PM
guyglk guyglk is offline Windows 10 Office 2007
Novice
 
Join Date: Dec 2017
Posts: 3
guyglk is on a distinguished road
Default

Hi again,

Well, it turns out I need to exclude spaces and other characters when looking for any different font colors... so the two-liner bit, as excellent as it is - is too "document-generic" for me.

I thought about going at it this way, using the find command (the code below is a crude version of what I'm after):

Outline (just to be clear of what I was trying to achieve in plain English, in case I missed something code-wise):
1. Go to the first character in the document
2. Search for that color font (grab and use the first character's font color as criteria) using find while ignoring spaces
3. Check if find bumps into any different color other than that of which is being searched (if find.found=false I think...)
Code:
Selection.HomeKey Unit:=wdStory

Selection.Find.ClearFormatting
Selection.Find.Font.Color = Selection.Font.Color
With Selection.Find
    .Text = "*[! ]"
    .Font.Color = Selection.Font.Color
    .MatchWildcards = True
    .Wrap = wdFindContinue
    .Format = True
    .Forward = True
    .Execute
End With

If Selection.Find.Found = False Then MsgBox "Found another color." _
Else MsgBox "Did not find any other color."
The problem: it always gives "Did not find any other color." whether the document has only one font color used or more.

I'm not sure what to do next. Any ideas on how to improve this?

Thanks,
Reply With Quote