Jay hat eine Situation, in der ein Dokumenteigenschaftsfeld in ein Textfeld in einem Dokument eingefügt wurde. Wenn Sie Strg + A verwenden und dann F9 drücken, sollten alle Eigenschaftsdokumentfelder im Dokument aktualisiert werden. Dieses eine Feld wird jedoch nicht durch Jays Aktion aktualisiert. Der Vorgang zum Aktualisieren von Feldern in Kopf- und Fußzeilen aktualisiert auch nicht das Feld im Textfeld.

Jay fragt sich, ob es eine Möglichkeit gibt, das Feld manuell über die Tastatur zu aktualisieren, oder ob es eine Möglichkeit gibt, es mithilfe eines Makros zu aktualisieren.

Felder können in vielen Dokumentelementen platziert werden. Sie können sich beispielsweise im Hauptdokumenttext, in Textfeldern, in Kopf- oder Fußzeilen, in AutoFormen oder in speziellen Tabellen befinden. Wenn Sie Strg + A drücken, wird Ihr gesamtes Dokument ausgewählt. Wenn Sie F9 drücken, werden die Felder in allen Dokumentelementen nicht aktualisiert. Stattdessen müssen Sie ein Makro verwenden, um die Aktualisierung durchzuführen.

Wenn Sie lediglich möchten, dass ein Makro die Felder in einem Ihrer Textfelder aktualisiert, ist dies einfach genug. Das folgende Makro führt Sie durch die einzelnen Formen in Ihrem Dokument (einschließlich Textfeldern und AutoFormen)

Wenn die Form Text enthält, aktualisieren Sie alle darin enthaltenen Felder.

Sub UpdateTBFields()

Dim shp As Shape

For Each shp In ActiveDocument.Shapes         With shp.TextFrame             If .HasText Then                 .TextRange.Fields.Update             End If         End With     Next End Sub

Dieses Makro kann einer Tastenkombination zugewiesen werden, sodass Sie die Felder einfach durch Berühren der Tastenkombination aktualisieren können. Natürlich möchten Sie vielleicht ein umfassenderes Makro entwickeln, das alle Felder aktualisiert, wo immer sie sich befinden. (Denken Sie daran: Felder können sich in einer beliebigen Anzahl von Dokumentelementen befinden.) In diesem Fall sollten Sie die folgende umfassendere Version des Makros berücksichtigen.

Public Sub UpdateAllFields()

Dim doc As Document     Dim wnd As Window     Dim lngMain As Long     Dim lngSplit As Long     Dim lngActPane As Long     Dim rngStory As Range     Dim TOC As TableOfContents     Dim TOA As TableOfAuthorities     Dim TOF As TableOfFigures     Dim shp As Shape

' Set Objects     Set doc = ActiveDocument     Set wnd = ActiveDocument.ActiveWindow

' get Active Pane Number     lngActPane = wnd.ActivePane.Index

' Hold View Type of Main pane     lngMain = wnd.Panes(1).View.Type

' Hold SplitSpecial     lngSplit = wnd.View.SplitSpecial

' Get Rid of any split     wnd.View.SplitSpecial = wdPaneNone

' Set View to Normal     wnd.View.Type = wdNormalView

' Loop through each story in doc to update     For Each rngStory In doc.StoryRanges         If rngStory.StoryType = wdCommentsStory Then             Application.DisplayAlerts = wdAlertsNone             ' Update fields             rngStory.Fields.Update             Application.DisplayAlerts = wdAlertsAll         Else             ' Update fields             rngStory.Fields.Update         End If     Next

'Loop through text boxes and update     For Each shp In doc.Shapes         With shp.TextFrame             If .HasText Then                 shp.TextFrame.TextRange.Fields.Update             End If         End With     Next

' Loop through TOC and update     For Each TOC In doc.TablesOfContents         TOC.Update     Next

' Loop through TOA and update     For Each TOA In doc.TablesOfAuthorities         TOA.Update     Next

' Loop through TOF and update     For Each TOF In doc.TablesOfFigures         TOF.Update     Next

' Return Split to original state     wnd.View.SplitSpecial = lngSplit

' Return main pane to original state     wnd.Panes(1).View.Type = lngMain

' Active proper pane     wnd.Panes(lngActPane).Activate

' Close and release all pointers     Set wnd = Nothing     Set doc = Nothing End Sub

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (12344) gilt für Microsoft Word 2007, 2010, 2013, 2016, 2019 und Word in Office 365. Eine Version dieses Tipps finden Sie für ältere Menüoberfläche von Word hier: