I'd be more inclined to use a Document_Open macro, coded along the lines of:
Code:
Sub Document_Open()
Application.ScreenUpdating = False
With ActiveDocument
.Fields.Update
.PrintPreview
.ClosePrintPreview
End With
Application.ScreenUpdating = True
End Sub
If you try to update fields as the document closes, the updates will be lost unless you re-save the document.