Nothing more to add, I would like to change the style of all cross-references I have in a Word 2007 document at once. But I have no idea how to do it. How can this be done?
Answer
Some cross-reference types are automatically formatted with the "intense reference" style, but most are formatted as "normal" text.
To apply the "intense reference" style to the text of the cross reference:
- select the text
- choose the "Home" tab in the ribbon
- using either the up-down buttons or the drop-down button in the "Styles" group of the ribbon, choose the "intense reference" style (or another style if you prefer)
To change the appearance of all text of a given style:
- choose the "Home" tab in the ribbon
- using the drop-down button in the "Styles" group of the ribbon, choose "Apply styles..."
- in the "Apply Styles" dialog box under "Style Name" choose the name of the style you want to change (e.g. "intense reference")
- Click the "Modify..." button
- Change the formatting to suit you and click "OK"
To apply a style to all cross references at once:
- Press Alt+F9 to show field codes
- Select the "Home" tab in the ribbon
- Click on "Replace" in the "Editing" group
- In the "Find what" field, type
^19 REF
- (That's caret-one-nine-space-R-E-F)
- Click in the "Replace with" field, but don't type anything
- Click the "More" button
- The bottom section of the dialog should be titled "Replace" (with a horizontal rule after it)
- Click the "Format" button and select "Style..."
- Choose a style (e.g. "Intense Reference") and click OK
- It should now show the style you selected under the "Replace with" field
- Click "Replace All" if you're feeling brave or use "Find Next" and "Replace" to step through and replace or skip each reference field code's style individually
- Press Alt+F9 to hide field codes
See this page for more information on special codes in Find and Replace.
Here is a macro that will add the switch \* mergeformat
to each of the fields. This switch is necessary to keep the formatting from being lost if you do a field update. You can assign the macro to a keystroke and it will step through the fields one at a time for each time you press the keystroke. You can also edit the macro to loop over the whole document to automate the process.
Sub mf()
'
' mf Macro
' Find cross references and add \* mergeformat
'
Selection.Find.ClearFormatting
With Selection.Find
.Text = "^19 REF"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.TypeText Text:="\* mergeformat "
Selection.Find.Execute
End Sub
No comments:
Post a Comment