Macro en Word para generar contratos automáticamente: Paso a paso
¿Te imaginas poder generar contratos personalizados en cuestión de segundos, y de manera gratuita? Si trabajas en oficina y constantemente necesitas preparar contratos u otros documentos repetitivos, esta macro de Word puede convertirse en tu mejor herramienta. En esta publicación te enseñaré una macro para automatizar tareas y evitar errores manuales.
¿Qué hace esta macro?
La macro está diseñada para personas que manejan múltiples contratos o documentos estándar en su día a día. Algunas de sus principales funciones son:
- Automatización de datos personalizados: Llena automáticamente campos como el nombre, dirección, fecha, o cualquier información específica.
- Preservación de la plantilla original: La macro crea un nuevo documento con la información personalizada, dejando tu plantilla intacta.
- Flexibilidad y personalización: Puedes ajustar los campos dinámicos para que se adapten a cualquier tipo de contrato o documento estándar.
¿Cómo funciona?
La macro utiliza una tabla dentro de la plantilla para leer los datos necesarios (la tabla deber ser lo primero en el documento). Aquí te explico el flujo básico:
- Diseña tu plantilla: Define los campos dinámicos utilizando un formato como
{{Nombre}}
,{{Fecha}}
, etc. - Crea una tabla de datos: En la plantilla, agrega una tabla con dos columnas:
- Columna 1: El nombre del campo (por ejemplo, Nombre, Dirección, Fecha) textual el encabezado de tu tabla debe llamarse campo.
- Columna 2: Los valores personalizados (por ejemplo, Juan Pérez, Calle Principal 123, 01/02/2025) textual el encabezado de tu tabla debe llamarse valor.
- Ejecuta la macro: Con un solo clic, el documento personalizado se generará automáticamente en un nuevo archivo de Word.
Beneficios de la macro:
- Ahorro de tiempo: Ideal si trabajas en áreas como recursos humanos, administración, o legal y necesitas preparar contratos regularmente.
- Minimiza errores: Evita errores comunes al copiar y pegar información manualmente.
- Profesionalismo: Asegura que todos tus documentos sigan el mismo formato y estilo.
¿Cómo implementar esta macro?
Inserta la macro:
- Presiona
Alt + F11
para abrir el Editor de VBA.
Alt + F11
para abrir el Editor de VBA.- Crea un nuevo módulo y pega el código.
- Guarda tu archivo como word con Macro
Sub GenerarContratoWord()
Dim Campos As Object
Dim Campo As Variant
Dim Valor As String
Dim tbl As Table
Dim i As Integer
Dim NuevoDoc As Document
' Inicializar el diccionario para los campos
Set Campos = CreateObject("Scripting.Dictionary")
' Verificar si hay tablas en el documento actual
If ActiveDocument.Tables.Count = 0 Then
MsgBox "No se encontró una tabla con los datos en el documento.", vbCritical
Exit Sub
End If
' Asumir que la primera tabla contiene los datos (campo y valor)
Set tbl = ActiveDocument.Tables(1)
' Leer los campos y valores de la tabla
For i = 1 To tbl.Rows.Count
Dim CampoTexto As String
Dim ValorTexto As String
CampoTexto = Trim(tbl.Cell(i, 1).Range.Text) ' Leer el campo (columna 1)
CampoTexto = Left(CampoTexto, Len(CampoTexto) - 2) ' Eliminar carácter de fin de celda
ValorTexto = Trim(tbl.Cell(i, 2).Range.Text) ' Leer el valor (columna 2)
ValorTexto = Left(ValorTexto, Len(ValorTexto) - 2) ' Eliminar carácter de fin de celda
' Agregar al diccionario
If CampoTexto <> "" And ValorTexto <> "" Then
Campos.Add CampoTexto, ValorTexto
End If
Next i
' Crear un nuevo documento basado en la plantilla
Set NuevoDoc = Documents.Add(Template:=ActiveDocument.FullName)
' Reemplazar cada campo en el nuevo documento
For Each Campo In Campos.Keys
Valor = Campos(Campo)
With NuevoDoc.Content.Find
.Text = "{{" & Campo & "}}" ' Buscar campos entre llaves
.Replacement.Text = Valor
.Forward = True
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
End With
Next Campo
MsgBox "El contrato ha sido generado en un nuevo documento.", vbInformation
End Sub
Esta macro de Word es una solución práctica para quienes trabajan en oficina y buscan simplificar su flujo de trabajo. Automatiza tareas repetitivas, reduce errores y permite generar contratos o documentos de manera eficiente. ¿Te gustaría implementar esta herramienta en tu día a día? ¡Prueba la macro y descubre todo lo que puedes lograr con ella!
Te comparto un video para que veas como funciona la macro
Posibles mejoras a la macro:
- Guardar automáticamente el contrato con un folio y nombres
- Guardar el documento nuevo con formato PDF
- Resaltar con negritas los datos que se ingresaron para que sea más fácil validarlos
- Eliminar los datos de la tabla en la primer hoja
Comentarios
Publicar un comentario