Cómo configurar una plantilla de Word para insertar automáticamente la fecha actual como texto sin formato
🔍 WiseChecker

Cómo configurar una plantilla de Word para insertar automáticamente la fecha actual como texto sin formato

Desea que cada documento nuevo basado en una plantilla de Word comience con la fecha actual ya insertada, y necesita que esa fecha sea texto sin formato para que no se actualice después. De forma predeterminada, Word usa un campo de fecha que se actualiza cada vez que se abre el documento. Esto causa problemas cuando la fecha debe permanecer fija, como en formularios legales, facturas o correspondencia con fecha. Este artículo explica cómo crear una plantilla que inserte la fecha de hoy como texto estático mediante una macro y el evento Document_New.

Puntos clave: Insertar automáticamente la fecha actual como texto sin formato en una plantilla de Word

  • Macros AutoOpen y Document_New: Ejecute código automáticamente cuando se crea o abre un documento a partir de una plantilla.
  • Función Date y función Format: Inserte la fecha actual del sistema como texto sin formato con un formato especificado.
  • Guardar como .dotm (plantilla habilitada para macros): Necesario para almacenar y ejecutar macros de VBA en un archivo de plantilla.

ADVERTISEMENT

Cómo inserta Word las fechas de forma predeterminada y por qué es importante

Cuando usa el comando Insertar > Fecha y hora en Word y marca “Actualizar automáticamente”, Word inserta un campo DATE. Este campo muestra la fecha actual según el reloj del sistema. Cada vez que abre el documento, Word actualiza el campo para mostrar la fecha actual, no la fecha en que se creó el documento. Este es el comportamiento correcto para un campo de fecha dinámico, pero es lo opuesto a lo que necesita para una fecha fija.

Si desmarca “Actualizar automáticamente”, Word inserta la fecha como texto sin formato en ese momento. Pero cuando guarda el archivo como plantilla, la fecha de texto sin formato queda bloqueada a la fecha en que creó la plantilla. Cada documento nuevo basado en esa plantilla mostraría esa misma fecha antigua. Para insertar la fecha del día actual como texto sin formato cada vez que se crea un documento nuevo, debe usar una macro de VBA que se ejecute cuando se genere el nuevo documento.

Qué hace el evento Document_New

Las plantillas de Word pueden contener código de VBA que se ejecuta automáticamente en respuesta a eventos. El evento Document_New se desencadena cuando se crea un documento nuevo a partir de una plantilla. Este evento es el lugar correcto para insertar la fecha. La macro puede usar la función Date de VBA para recuperar la fecha del sistema y la función Format para controlar cómo aparece la fecha. Como la macro escribe la fecha como una cadena, es texto estático —no un campo—, por lo que nunca se actualizará.

Pasos para crear una plantilla que inserte automáticamente la fecha de hoy como texto sin formato

Siga estos pasos para crear una plantilla habilitada para macros (.dotm) que inserte la fecha actual como texto sin formato en la parte superior de cada documento nuevo.

  1. Habilite la pestaña Desarrollador en Word
    Abra Word. Vaya a Archivo > Opciones > Personalizar cinta de opciones. En el panel derecho, marque la casilla junto a Desarrollador. Haga clic en Aceptar. La pestaña Desarrollador ahora aparece en la cinta de opciones.
  2. Cree un documento en blanco nuevo
    Presione Ctrl+N para crear un documento en blanco nuevo. Este documento será la base de su plantilla.
  3. Abra el Editor de VBA
    En la pestaña Desarrollador, haga clic en Visual Basic. Como alternativa, presione Alt+F11. El editor de VBA se abre en una ventana separada.
  4. Inserte un módulo para el proyecto de plantilla
    En el editor de VBA, observe el panel Explorador de proyectos a la izquierda. Si no lo ve, haga clic en Ver > Explorador de proyectos. Busque el proyecto llamado “Normal” o “Project (Document1)”. Haga clic con el botón derecho en “ThisDocument” bajo el proyecto. Elija Ver código. Se abre una ventana de código en blanco.
  5. Escriba la macro Document_New
    En la ventana de código, pegue el siguiente código de VBA:
    Private Sub Document_New()
        Dim dt As String
        dt = Format(Date, "mmmm d, yyyy")
        Selection.TypeText dt
    End Sub

    Este código se ejecuta cuando se crea un documento nuevo a partir de la plantilla. Obtiene la fecha del sistema, la formatea como “January 1, 2025” y escribe ese texto en la posición del cursor. Para usar un formato diferente, reemplace "mmmm d, yyyy" por uno de estos: "d MMMM yyyy" para “1 January 2025”, "MM/dd/yyyy" para “01/01/2025” o "dd-MMM-yy" para “01-Jan-25”.

  6. Cierre el Editor de VBA
    Haga clic en Archivo > Cerrar y volver a Microsoft Word en la barra de menús del editor de VBA. Vuelve a su documento.
  7. Diseñe el contenido de la plantilla
    En el documento, agregue cualquier otro contenido que deba aparecer en cada documento nuevo: membrete, texto estándar, tablas o marcadores de posición. Coloque el cursor exactamente donde desea que aparezca la fecha. La macro inserta la fecha en la posición del cursor cuando se crea el documento, así que coloque el cursor en consecuencia antes de guardar la plantilla.
  8. Guarde el archivo como plantilla habilitada para macros
    Haga clic en Archivo > Guardar como. Elija una ubicación, como su carpeta personalizada Plantillas de Office. En la lista desplegable Guardar como tipo, seleccione “Plantilla de Word habilitada para macros (dotm)”. Escriba un nombre para su plantilla, por ejemplo “InvoiceTemplate.dotm”. Haga clic en Guardar. Word guarda el archivo como una plantilla con la extensión .dotm, que conserva la macro de VBA.
  9. Pruebe la plantilla
    Cierre todas las ventanas de Word. Abra Word de nuevo. Haga clic en Archivo > Nuevo. Haga clic en Personal o Compartido (según su versión de Word). Busque su plantilla y haga clic en ella. Word crea un documento nuevo. La fecha actual debe aparecer como texto sin formato en la parte superior. Verifique que la fecha no sea un campo haciendo clic con el botón derecho en ella: si “Actualizar campo” no aparece en el menú contextual, la fecha es texto estático.

ADVERTISEMENT

Si la fecha no aparece o la macro no se ejecuta

Varias configuraciones pueden impedir que la macro se ejecute. Revise cada uno de los siguientes escenarios.

La plantilla se guardó como .dotx en lugar de .dotm

Un archivo .dotx no puede contener macros. Si guardó la plantilla como .dotx, Word ignora cualquier código de VBA en el archivo. Abra la plantilla, haga clic en Archivo > Guardar como y elija “Plantilla de Word habilitada para macros (dotm)”. Sobrescriba el archivo existente.

La configuración de seguridad de macros bloquea el código

Word deshabilita las macros de forma predeterminada si el archivo proviene de una ubicación no confiable. Vaya a Archivo > Opciones > Centro de confianza > Configuración del Centro de confianza > Configuración de macros. Seleccione “Habilitar todas las macros” solo para pruebas. Para uso en producción, guarde la plantilla en una ubicación de confianza: vaya a Archivo > Opciones > Centro de confianza > Configuración del Centro de confianza > Ubicaciones de confianza, agregue la carpeta donde guardó el archivo .dotm y seleccione “Las subcarpetas de esta ubicación también son de confianza”. Luego vuelva a establecer Configuración de macros en “Deshabilitar todas las macros excepto las firmadas digitalmente” o “Deshabilitar todas las macros con notificación”.

La macro se colocó en el módulo incorrecto

El evento Document_New debe estar en el módulo de código ThisDocument del proyecto de plantilla, no en un módulo estándar ni en el proyecto Normal.dotm. Abra el editor de VBA, haga doble clic en “ThisDocument” bajo el proyecto de plantilla y verifique que el código esté allí. Si colocó el código en un módulo estándar (Module1), el evento no se desencadenará. Mueva el código a ThisDocument.

Comparación: Métodos de inserción de fecha en plantillas de Word

Elemento Insertar > Fecha con “Actualizar automáticamente” marcado Insertar > Fecha con “Actualizar automáticamente” desmarcado Macro de VBA usando Document_New
Tipo de resultado Campo DATE (dinámico) Texto sin formato (estático) Texto sin formato (estático)
Se actualiza al abrir Sí No No
Comportamiento de la fecha en la plantilla Muestra la fecha actual al crear el documento y luego se actualiza en cada apertura Muestra la fecha en que se guardó la plantilla Muestra la fecha en que se creó el documento nuevo, nunca se actualiza
Formato de archivo requerido .dotx o .dotm .dotx o .dotm Solo .dotm
Preocupación por la seguridad de macros Ninguna Ninguna Debe habilitar las macros o usar una ubicación de confianza

Ahora puede crear una plantilla de Word que inserte automáticamente la fecha actual como texto sin formato cada vez que se genere un documento nuevo. La macro de VBA que usa el evento Document_New le brinda control total sobre el formato de fecha y garantiza que la fecha nunca se actualice. Para automatización adicional, considere agregar una macro que también inserte la hora o el nombre del autor del documento usando la misma técnica. Un siguiente paso práctico es combinar esta macro de fecha con una entrada de Quick Part o AutoText para crear un encabezado de documento completo.

ADVERTISEMENT