Aktualisieren eines Felds in einem Textfeld (Microsoft Word)
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: