Hallo,
bei der Suche nach VBA-Code für das Aktualisieren aller Felder in einem Word-Dokument (also auch in Kopf-/Fußzeilen, Abschnitten etc.) habe ich mir folgenden Code zusammenkopiert (nur Auszüge, da der Beitrag sonst zu lang ist):
Sub AlleFelderAktualisieren()
Set oDoc = ActiveDocument
For Each abschnitt In oDoc.Sections
For Each rngDoc In oDoc.StoryRanges
rngDoc.Fields.Update
While Not (rngDoc.NextStoryRange Is Nothing)
Set rngDoc = rngDoc.NextStoryRange
rngDoc.Fields.Update
Wend
Next rngDoc
If oDoc.TablesOfContents.Count > 0 Then
For Each oTOC In oDoc.TablesOfContents
oTOC.Update
Next oTOC
End If
If oDoc.TablesOfFigures.Count > 0 Then
On Error Resume Next
For Each oTOF In oDoc.TablesOfContents
oTOF.Update
Next oTOF
On Error GoTo 0
End If
Next abschnitt
End Sub
Leider aktualisiert es mir keine Felder in der Fußzeile des 2. und der folgenden Abschnitte.
Deshalb meine Fragen hierzu:
1. An welcher Stelle fehlt hier was im Code?
2. Muss es anstelle von "For Each oTOF In oDoc.TablesOfContents" nicht "For Each oTOF In oDoc.TablesOfFigures" heißen?
3. Beim Debuggen habe ich mir die jeweiligen Werte angeschaut und bin daraus nicht schlau geworden. Was kann denn in Word alles ein 'Range' sein (s.o. rngDoc)?
Vielen Dank für eure Hilfe
Jojo