Cuando trabaja con formularios, los guarda como plantillas que se utilizan como base de nuevos documentos en Word. Puede haber ocasiones en las que desee agregar un campo de formulario que se incrementa cada vez que crea un nuevo documento basado en su plantilla de formulario. Por ejemplo, puede tener un número de secuencia que necesita para un formulario de entrada de datos, o puede que desee utilizar un campo de formulario para indicar una factura número.

Word no tiene campos elegantes de incremento automático. Sin embargo, al combinar algunas de las herramientas que ya están disponibles en Word, puede crear una plantilla y un campo de formulario para hacer el truco por usted. Empiece con esta macro:

Sub AutoNew()

' Exit macro if no fields in document    If ActiveDocument.FormFields.Count = 0 Then Exit Sub    ' Create variables.

Dim OfficeAppName As String    Dim RegSection As String    Dim RegKey As String    Dim FieldObj As Object    Dim RegValue As Long

OfficeAppName = "Word 2016"

RegSection = "UserData"

RegKey = "Current Counter"

' Generate error if form field doesn't exist    On Error GoTo ErrHandler    Set FieldObj = ActiveDocument.FormFields("IncField")

' Get stored registry value, if any    RegValue = GetSetting(OfficeAppName, RegSection, RegKey, 0)

' If not previously set, set to default    If RegValue = 0 Then RegValue = 1    ' Set form field result to stored value    FieldObj.Result = CStr(RegValue)

' Increment and update invoice number    SaveSetting OfficeAppName, RegSection, RegKey, RegValue + 1 ErrHandler:

If Err <> 0 Then       MsgBox Err.Description    End If End Sub

Esta macro debe guardarse solo en la plantilla que usará para crear sus formularios. La macro debe llamarse AutoNew, por lo que se ejecutará siempre que se cree un documento basado en la plantilla de formulario. También debe asegurarse de tener un campo de formulario de texto en su documento llamado IncField, que mostrará el número incremental. El número se registra en el Registro para que se pueda acceder a él para formularios futuros.

Observe la línea de la macro que establece la variable OfficeAppName. En esta versión de la macro, se establece en la frase «Word 2016». Si está utilizando una versión diferente de Word, debe modificar esta línea para que se refiera a su versión, como «Word 2019».

_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 (11431) se aplica a Microsoft Word 2007, 2010, 2013, 2016, 2019 y Word en Office 365. Puede encontrar una versión de este consejo para interfaz de menú anterior de Word aquí:

link: / word-Auto-incrementing_Form_Fields [Campos de formulario de incremento automático].