Word le permite crear formularios especiales que se basan en campos para la recopilación de información. Estos formularios se pueden proteger para que los usuarios no puedan modificar el texto fuera de los campos del formulario. Otros números de WordTips han discutido formas en las que se pueden crear formularios.

Cuando crea un formulario, es posible que en ocasiones necesite que Word actualice el contenido de los campos calculados dentro del formulario. Si selecciona la casilla de verificación Actualizar campos en la pestaña Imprimir del cuadro de diálogo Opciones, los campos se calculan automáticamente cuando se imprime un documento. En las versiones de Word anteriores a Word 2000, los campos también se calculan automáticamente cuando usa Vista preliminar. (Eso cambió en Word 2000; se necesita una impresión real). Pero, ¿qué sucede si no desea imprimir todo el documento y el papel usado solo para ver cuál es el resultado de los cálculos?

La solución es crear una macro simple y asignar la macro a un botón de la barra de herramientas. La siguiente macro funcionará bien:

Sub UpdateFields()

Dim rngStory As Range          For Each rngStory In ActiveDocument.StoryRanges               rngStory.Fields.Update          Next rngStory End Sub

Es importante que la macro se asigne a un botón de la barra de herramientas porque un formulario protegido no permite el acceso a las macros a través del menú.

Este enfoque, por supuesto, requiere que el usuario recuerde hacer clic en el botón para actualizar todos los campos. Si lo prefiere, puede asignar la macro al evento OnSalir de cualquier campo de formulario. Por lo tanto, siempre que se «salga» del campo, se ejecutará la macro. Un suscriptor de WordTips también sugirió la siguiente macro como una macro OnSalir para actualizar campos:

Sub UpdateRefsInForm()

Application.ScreenUpdating = False     If ActiveWindow.View.Type = wdPageView Then         ActiveWindow.ActivePane.View.Type = wdNormalView     Else         ActiveWindow.View.Type = wdPageView     End If     If ActiveWindow.ActivePane.View.Type = wdNormalView Then         ActiveWindow.ActivePane.View.Type = wdPageView     Else         ActiveWindow.ActivePane.View.Type = wdNormalView     End If End Sub

Esta macro es bastante inteligente, ya que todo lo que hace es cambiar de cualquier vista en la que se encuentre (vista Normal o Página) a la otra vista, y luego regresar nuevamente. Este cambio en el modo de vista obliga a Word a actualizar los campos.

_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). Este consejo (1445) se aplica a Microsoft Word 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Word (Word 2007 y más tarde) aquí:

link: / wordribbon-Updating_Calculated_Fields_in_a_Form [Actualización de campos calculados en un formulario].