Jay tiene una situación en la que tiene un campo de propiedad de documento insertado en un cuadro de texto en un documento. Usar Ctrl + A y luego presionar F9 debería actualizar todos los campos del documento de propiedad en el documento, pero la acción de Jay no actualiza este campo. El proceso para actualizar campos en encabezados y pies de página tampoco actualiza el campo dentro del cuadro de texto.

Jay se pregunta si hay alguna manera de actualizar manualmente el campo usando el teclado o si existe una manera de actualizarlo usando una macro.

Los campos se pueden colocar en muchos elementos del documento. Pueden estar, por ejemplo, en el texto del documento principal, en cuadros de texto, en encabezados o pies de página, en autoformas o en tablas especiales. Mientras presiona Ctrl + A seleccionará todo su documento, presionar F9 no actualizará los campos en todos los elementos del documento. En su lugar, debe utilizar una macro para realizar la actualización.

Si simplemente desea que una macro actualice los campos en cualquiera de sus cuadros de texto, esto es bastante fácil de hacer. Los siguientes pasos de macro a través de cada una de las formas en su documento (esto incluye cuadros de texto y autoformas)

y, si la forma contiene texto, actualice los campos que contiene.

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

Esta macro podría asignarse a un atajo de teclado para que pueda actualizar fácilmente los campos con solo tocar el atajo. Por supuesto, es posible que desee desarrollar una macro más abarcadora que actualice todos los campos, estén donde estén. (Recuerde: los campos pueden estar en cualquier número de elementos del documento). En ese caso, considere la siguiente versión más amplia de la macro.

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

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.

link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

WordTips es su fuente de formación rentable en Microsoft Word.

(Microsoft Word es el software de procesamiento de texto más popular del mundo). Esta sugerencia (12344) se aplica a Microsoft Word 2007, 2010, 2013, 2016, 2019 y Word en Office 365. Puede encontrar una versión de esta sugerencia para interfaz de menú anterior de Word aquí:

link: / word-Updating_a_Field_in_a_Text_Box [Actualización de un campo en un cuadro de texto].