View Single Post
 
Old 11-11-2014, 03:55 PM
macropod's Avatar
macropod macropod is offline Windows 7 64bit 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

Quote:
Originally Posted by rsrasc View Post
Yesterday, you gave me a workable find/replace code; I try to modify it for something else--spent more than two hours trying to find a solution but couldn't do it.
But, as I said in my reply to https://www.msofficeforums.com/word-...html#post73220, all you needed to do was to copy the expressions into a macro coded the same as the previous one I had given you. Thus:
Code:
Sub AnswerLetterChange()
With ActiveDocument.Content.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Forward = True
  .Wrap = wdFindContinue
  .Format = False
  .MatchWildcards = True
  .Text = "<([A-D]):"
  .Replacement.Text = "\1."
  .Execute Replace:=wdReplaceAll
End With
End Sub
might become:
Code:
Sub Demo1()
With ActiveDocument.Content.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Forward = True
  .Wrap = wdFindContinue
  .Format = False
  .MatchWildcards = True
  .Text = "([A-Z]).*[Aa]nswer*( is[ in]{1,3}correct.)"
  .Replacement.Text = "Answer (\1)\2"
  .Execute Replace:=wdReplaceAll
End With
End Sub
Similarly, for the problem here: https://www.msofficeforums.com/word-...rd-needed.html, you might use:
Code:
Sub Demo2()
With ActiveDocument.Content.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Forward = True
  .Wrap = wdFindContinue
  .Format = False
  .MatchWildcards = True
  .Text = "(Answer )([A-Z])"
  .Replacement.Text = "\1(\2)"
  .Execute Replace:=wdReplaceAll
End With
End Sub
As for your current problem, I see no indication you've even tried to use a wildcard expression. With a modicum of reading of the documentation on wildcard usage (e.g. http://office.microsoft.com/en-au/he...001087305.aspx, http://www.gmayor.com/replace_using_wildcards.htm) it would quickly become apparent how easy it is to adapt one of those examples to your current needs.

As for applying the bold and highlight, if you use the macro recorder to capture a Find/Replace using those parameters, it will provide all the bits of code you need. Granted, it can be made more efficient, but all the font/highlight attributes will be there.
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote