It seems to me your code could be reduced to:
Sub AutoOpen()
Application.ScreenUpdating = False
Dim aStory As Range
For Each aStory In ActiveDocument.StoryRanges
aStory.Fields.Update
Next aField
Application.ScreenUpdating = True
End Sub
That said, if you want to avoid updating TOC fields, you might use code like:
Sub AutoOpen()
Application.ScreenUpdating = False
Dim i As Long, aField As Field
With ActiveDocument
For Each aField In .Range.Fields
If aField.Type <> wdFieldTOC Then aField.Update
Next aField
For i = 2 To 11
.StoryRanges(i).Fields.Update
Next i
End With
Application.ScreenUpdating = True
End Sub
Cheers
Paul Edstein
[MS MVP - Word]