Microsoft Office Forums

Go Back   Microsoft Office Forums > Microsoft Word > Word VBA

Reply
 
LinkBack Thread Tools Display Modes
  #1  
Old 02-12-2013, 02:23 AM
norgro norgro is offline Windows XP Office 2007
Novice
 
Join Date: Feb 2013
Location: Perh Australia
Posts: 12
norgro is on a distinguished road
Default Start of Document Code Problem

I am writing code to highlight "ance" in a Word document. In Braille, there is a contraction for "ance" (and other combinations of letters). My macro seems to work provinding the document does not start with "ance".

It would be appreciated if someone could tell me how to include the "if the document does not start with "ance" condition.

I am attaching the code.
Code:
Sub HighlightAnceIfNotStartOfWord() 
    Set oRng = ActiveDocument.Range 
     ' Search document for specified text and highlight text.
    With oRng.Find 
        .Text = "ance" 
         '
         ' .Highlight - colour - yellow if previous character if alphabetic character - otherwise turquoise.
        .Wrap = wdFindStop 'stops at the end of the document
        While .Execute 
             ' MsgBox (oRng.Characters.First.Previous)
            If (Asc(oRng.Characters.First.Previous) >= 65 And Asc(oRng.Characters.First.Previous) <= 90) _ 
            Or (Asc(oRng.Characters.First.Previous) >= 97 And Asc(oRng.Characters.First.Previous) <= 122) _ 
            Then 
                oRng.HighlightColorIndex = wdYellow 
            Else: oRng.HighlightColorIndex = wdTurquoise 
            End If 
        Wend 
    End With 
End Sub


Last edited by macropod; 02-12-2013 at 03:39 AM. Reason: Added code tags & formatting
Reply With Quote
  #2  
Old 02-12-2013, 03:49 AM
macropod's Avatar
macropod macropod is offline Windows 7 64bit Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 16,552
macropod is a splendid one to beholdmacropod is a splendid one to beholdmacropod is a splendid one to beholdmacropod is a splendid one to beholdmacropod is a splendid one to beholdmacropod is a splendid one to beholdmacropod is a splendid one to behold
Default

Try the following:
Code:
Sub HighlightAnceIfNotStartOfWord()
' Search document for specified text and highlight text.
With ActiveDocument.Range
    With .Find
        .Text = "ance"
         ' .Highlight - colour - yellow if previous character if alphabetic character - otherwise turquoise.
        .Wrap = wdFindStop 'stops at the end of the document
        .Execute
    End With
    Do While .Find.Found
        If .Characters.First.Previous Like "[A-Za-z]" Then
            .HighlightColorIndex = wdYellow
        Else
            .HighlightColorIndex = wdTurquoise
        End If
        .Collapse wdCollapseEnd
        .Find.Execute
    Loop
End With
End Sub
PS: When posting code, please use the code tags. They're on the 'Go Advanced' tab.
__________________
Cheers,
Paul Edstein
[MS MVP - Word]
Reply With Quote
  #3  
Old 02-12-2013, 04:03 AM
norgro norgro is offline Windows XP Office 2007
Novice
 
Join Date: Feb 2013
Location: Perh Australia
Posts: 12
norgro is on a distinguished road
Default

Sincere thanks Paul. I really appreciate your help.

What a great forum this is!

Norman
Reply With Quote
Reply

Thread Tools
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
How do you view the source code in a Word 10 web document? provlima Word 2 05-25-2012 01:12 PM
issues with old documents resuming when i start a new document hughug Word 2 12-12-2011 02:40 PM
.OnAction only works in document with the code donbexcel Word VBA 1 11-02-2011 05:25 AM
Remove text in start up document Sheila Word 1 09-30-2010 03:33 PM
how can I add a peace of code to MS document amlife Word 0 03-03-2010 03:35 PM


All times are GMT -7. The time now is 06:28 PM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
MSOfficeForums.com is not affiliated with Microsoft