 |
|
|
|
 |
How to replace text in quotation marks with italic or highlighted text
minus the quotes
|
Article contributed by Klaus Linke and
Dave Rado
This is easy, using a wildcard search and replace. To do it manually
1. |
First make sure Replace straight quotes with Smart
quotes is ticked, on the AutoFormat As You Type tab under Tools + Autocorrect; and if you
want to use a highlight in the replace, make sure the default highlight colour
on the Reviewing toolbar is set to the colour you want. |
2. |
Then replace " with " (all quotation marks with
themselves), which will replace any straight quotes in the document with smart
quotes. |
3. |
Now do your wildcard Find and Replace. Your Find What text needs to be: (“)(*)(”) Note
that the quotes must be smart quotes: you can paste them from the
document into the Find what: box. Your Replace with text needs
to be: \2 And in the Replace with: box, either select Format + Font
+ Italic, or Format + Highlight, depending on your preference.
|
4. |
Finally, remove any orpaned opening smart quotes (as you might have if you'd had a
quotation spanning more than one paragraph), by replacing the opening quote
character (which, as before, you can cut and paste into the dialog from the
document; don't type it) with nothing.
|
See also: Finding and replacing characters using wildcards
To do it with a macro
Either use: Sub ReplaceQuotesWithHighlight()
Dim SmartQtSetting As Boolean,
DefHighlight As Long
'Make sure smartquotes are turned on
SmartQtSetting = Options.AutoFormatAsYouTypeReplaceQuotes
Options.AutoFormatAsYouTypeReplaceQuotes = True
'Make sure highlight is set to the colour you want, e.g.:
DefHighlight = Options.DefaultHighlightColorIndex
Options.DefaultHighlightColorIndex = wdGreen
With Selection.Find
'Set parameters
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
'First do a replace to make sure quotes
are all smartquotes
.Format = False
.MatchWildcards = False
.Text = """"
.Replacement.Text = """"
.Execute Replace:=wdReplaceAll
'Then do the wilcard replace
.Replacement.Highlight = True
.Format = True
.Wrap = wdFindContinue
.MatchWildcards = True
'ChrW(8220) is the open quote character
and ChrW(8221) is the close quote
.Text = "(" & ChrW(8220) &
")(*)(" & ChrW(8221) & ")"
.Replacement.Text = "\2"
.Execute Replace:=wdReplaceAll
'Then remove any orphaned opening
quotes
.Format = False
.Wrap = wdFindContinue
.MatchWildcards = False
.Text =ChrW(8220)
.Replacement.Text = ""
.Execute Replace:=wdReplaceAll
'Clear dialog of all non-default
settings
.Text = ""
.Execute
End With
'Reset options to the way they were
Options.AutoFormatAsYouTypeReplaceQuotes = SmartQtSetting
Options.DefaultHighlightColorIndex = DefHighlight
End Sub
Or use: Sub
ReplaceQuotesWithItalic()
Dim SmartQtSetting As Boolean
'Make sure smartquotes are turned on
SmartQtSetting = Options.AutoFormatAsYouTypeReplaceQuotes
Options.AutoFormatAsYouTypeReplaceQuotes = True
With Selection.Find
'Set parameters
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
'First do a replace to make sure quotes
are all smartquotes
.Format = False
.MatchWildcards = False
.Text = """"
.Replacement.Text = """"
.Execute Replace:=wdReplaceAll
'Then do the wilcard replace
.Replacement.Font.Italic = True
.Format = True
.Wrap = wdFindContinue
.MatchWildcards = True
'ChrW(8220) is the open quote character
and ChrW(8221) is the close quote
.Text = "(" & ChrW(8220) &
")(*)(" & ChrW(8221) & ")"
.Replacement.Text = "\2"
.Execute Replace:=wdReplaceAll
'Then remove any orphaned opening
quotes
.Format = False
.Wrap = wdFindContinue
.MatchWildcards = False
.Text = ChrW(8220)
.Replacement.Text = ""
.Execute Replace:=wdReplaceAll
'Clear dialog of all non-default
settings
.Text = ""
.Execute
End With
'Reset options to the way they were
Options.AutoFormatAsYouTypeReplaceQuotes = SmartQtSetting
End Sub
|





|