Cómo Comparar Versiones de Documentos en Word con una Macro: Guía paso a paso

Como persona de oficina (mis amigos Godinez), es común trabajar con múltiples versiones de documentos importantes, como contratos, auditorías o reportes financieros. Revisar manualmente cada cambio puede ser tedioso y propenso a errores. ¿Sabías que puedes automatizar este proceso con una macro en Word? En este artículo, te explicaremos cómo crear y utilizar una macro en Word que compara versiones de documentos y destaca automáticamente las diferencias. ¡Ahorrarás tiempo y aumentarás tu precisión!


Paso a Paso para Crear la Macro

1. Abre el Editor de Macros en Word

  1. Presiona Alt + F11 en Word para abrir el editor de Visual Basic.
  2. Ve a Insertar > Módulo para agregar un módulo nuevo.

2. Copia el Código de la Macro

Pega el siguiente código en el módulo:


Sub CompararDocumentos()

    Dim DocumentoOriginal As Document

    Dim DocumentoRevisado As Document

    Dim DocumentoResultado As Document

    Dim RutaOriginal As String

    Dim RutaRevisado As String


    ' Selecciona el documento original

    RutaOriginal = SeleccionarArchivo("Selecciona el documento original")

    If RutaOriginal = "" Then Exit Sub ' Si el usuario cancela, sale de la macro


    ' Selecciona el documento revisado

    RutaRevisado = SeleccionarArchivo("Selecciona el documento revisado")

    If RutaRevisado = "" Then Exit Sub ' Si el usuario cancela, sale de la macro


    ' Abre los documentos seleccionados

    Set DocumentoOriginal = Documents.Open(RutaOriginal)

    Set DocumentoRevisado = Documents.Open(RutaRevisado)


    ' Realiza la comparación y abre el resultado en un nuevo documento

    Set DocumentoResultado = Application.CompareDocuments( _

        OriginalDocument:=DocumentoOriginal, _

        RevisedDocument:=DocumentoRevisado)


    ' Cierra los documentos originales

    DocumentoOriginal.Close SaveChanges:=False

    DocumentoRevisado.Close SaveChanges:=False


    ' Activa el documento con los resultados

    DocumentoResultado.Activate

    

    MsgBox "La comparación ha finalizado. El resultado se muestra en un nuevo documento.", vbInformation, "Comparación Completada"

End Sub


' Función para seleccionar un archivo

Function SeleccionarArchivo(Titulo As String) As String

    Dim dlgArchivo As FileDialog

    Dim RutaArchivo As String

    

    Set dlgArchivo = Application.FileDialog(msoFileDialogFilePicker)

    With dlgArchivo

        .Title = Titulo

        .Filters.Clear

        .Filters.Add "Documentos de Word", "*.docx"

        .AllowMultiSelect = False

        If .Show = -1 Then ' Si el usuario selecciona un archivo

            RutaArchivo = .SelectedItems(1)

        Else ' Si el usuario cancela

            RutaArchivo = ""

        End If

    End With

    SeleccionarArchivo = RutaArchivo

End Function




3. Guarda y Ejecuta

  1. Guarda el módulo presionando Ctrl + S.
  2. Regresa a Word y presiona Alt + F8 para abrir la lista de macros.
  3. Selecciona CompararDocumentos y haz clic en Ejecutar.
10 ejemplos de macros en word


¿Qué Hace Esta Macro?

La macro compara dos versiones de un documento de Word y resalta las diferencias entre ellas. Cuando ejecutas la macro, se te pedirá que selecciones el documento original (documento 1) y el documento revisado (documento 2). Después de comparar los documentos, se generará un nuevo archivo con los resultados, que incluirán las modificaciones de forma clara y destacada. Esto es especialmente útil para gestionan varios borradores de contratos, informes o cualquier documento con cambios frecuentes.

Explicación para Desarrolladores de Macros

1. Función CompararDocumentos

Esta es la función principal que realiza el proceso de comparación de documentos. Vamos a desglosarla paso a paso:

Se declaran las variables necesarias para almacenar los documentos que se van a comparar, así como las rutas de los documentos.

    ' Selecciona el documento original

    RutaOriginal = SeleccionarArchivo("Selecciona el documento original")

    If RutaOriginal = "" Then Exit Sub ' Si el usuario cancela, sale de la macro


    ' Selecciona el documento revisado

    RutaRevisado = SeleccionarArchivo("Selecciona el documento revisado")

    If RutaRevisado = "" Then Exit Sub ' Si el usuario cancela, sale de la macro

Lógica:

  • Se utilizan las rutas seleccionadas para abrir los documentos originales y revisados a través de Documents.Open. Los documentos se cargan en las variables DocumentoOriginal y DocumentoRevisado para ser procesados.

Explicación Adicional

1. Documents.Open

  • Esta función se utiliza para abrir documentos en Word. Es fundamental cuando trabajamos con macros que manipulan varios archivos, como en este caso, donde se abren los documentos para compararlos.

2. Application.CompareDocuments

  • CompareDocuments es una función de Word que permite comparar dos documentos y generar un tercer documento con las diferencias. Específicamente, resalta las modificaciones, como cambios de texto, inserciones y eliminaciones.

3. FileDialog

  • FileDialog es un objeto que proporciona una interfaz gráfica para que los usuarios seleccionen archivos o carpetas de manera más amigable que escribir rutas manualmente. Este método es esencial cuando queremos hacer que nuestras macros sean más interactivas.

Consejos para Desarrolladores

  • Error Handling: Considera agregar manejo de errores en la macro para gestionar posibles problemas, como si un archivo no se puede abrir o si el usuario selecciona un archivo incorrecto.

  • Optimización: Si planeas utilizar esta macro de manera frecuente, podrías agregar más opciones, como permitir que los documentos de salida se guarden automáticamente en una carpeta específica, o agregar una opción para personalizar la forma en que se muestran las diferencias.

Ventajas de la Macro en WORD para comparar archivos

  • Ahorro de tiempo: Automatiza la comparación de documentos y reduce revisiones manuales.
  • Mayor precisión: Evita errores al detectar cambios importantes.
  • Profesionalismo: Presenta resultados claros y bien organizados a tus clientes o colegas.

Conclusión:

Esta macro es una herramienta poderosa que todo contador público debería tener en su arsenal. No solo simplifica tu trabajo, sino que también mejora la calidad de tus entregables. Si tienes dudas o necesitas más macros para optimizar tu flujo de trabajo, ¡déjame un comentario!

Te comparto también la liga del video para veas la ejecución de la macro


Macros en Excel

Macros en Word

  1. Macro de Word utilizando Chatgpt
  2. Macro en Word para contar palabras
  3. Ejemplo Macro en WOrd
  4. Cómo Comparar Versiones de Documentos en Word con una Macro: Guía paso a paso
  5. Macro en Word para generar contratos automáticamente: Paso a paso
  6. Macro en word para leer datos de Excel

Macros en Access

  1. https://www.programacionparatodos.com/2021/02/macros-en-access-de-microsoft.html

Macros en  PowerPoint

  1. Cómo Utilizar una Macro en PowerPoint
  2. Cómo hacer una grafica en power point leyendo datos de Excel

Comentarios

Entradas más populares de este blog

Macro de Excel para abrir archivo csv

API de banxico para obtener tipo de cambio utilizando Javascript

Ejemplo Macro en Word