Quote:
Originally Posted by rsrasc
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.