The problem is this:
I have a document with figures named something like: Figure 1 - Diagram of insanity
I want to reference the figure in the text like this, "for my recent mental health, see figure 1". But if insert a cross-reference the normal way by
Cross-reference on the
Insert menu, I get, "for my recent mental health, see Figure 1".
I have solved this with a macro that loops through all cross-references and changes the text to lowercase. The macro looks something like this:
For Each storyRange In ActiveDocument.StoryRanges
For Each field In storyRange.Fields
field.Update
If field.Type = wdFieldRef And field.Result.Words.Count
This works fine and the references stays that way even if I save and close/reopen the document. But now I have noticed that when I try to print the document, all cross-references update and the text returns to the unwanted casing. I have tried toggling the "Update fields" checkbox at
Tools >
Options... >
Print tab >
Printing options but without any change in behavior. Is this a bug(feature)? Should I write the above macro in some other way? And if this is unsolvable (upgrading Word is not an option) is there a macro that replaces all fields with plain text versions? I guess I could resort to saving a copy of the document and execute this macro every time I want to print.
I'll bet you can modify your macro to apply this automatically too, something like Field.Format = wdMagicConstantForLowerCase
posted by samj at 2:58 AM on October 19, 2007