Ordinarily, you should be able to use code like:
Code:
Sub UpdateFields()
Application.ScreenUpdating = False
With ActiveDocument
.Fields.Update
.PrintPreview
.ClosePrintPreview
End With
Application.ScreenUpdating = True
End Sub
If that doesn't work, try:
Code:
Sub UpdateFields()
Application.ScreenUpdating = False
Dim pRange as Range
For each pRange in ActiveDocument.StoryRanges
Do
pRange.Fields.Update
set pRange = pRange.NextStoryRange
Loop until pRange is Nothing
Next
Application.ScreenUpdating = True
End Sub