La guía completa de automatización con macros en Office (Excel, Word, APIs y más)

Imagen
¿Crees que programar es solo para expertos? Con VBA, cualquier persona puede crear macros personalizadas para automatizar tareas en Excel, Word y otras herramientas de Office. No necesitas ser desarrollador profesional para empezar. Esta página reúne ejemplos reales de macros VBA utilizados en escenarios laborales: automatización de reportes, conexión con APIs, lectura de CFDI, generación de documentos y más. Guarda esta página en favoritos : se actualiza constantemente con nuevos ejemplos. ¡Descubre el poder de VBA y simplifica tu trabajo diario! Explora nuestros tutoriales y aprende paso a paso cómo automatizar tareas repetitivas, reducir errores y mejorar tu productividad. 📊 Automatización con Macros en Excel Ejemplos prácticos para consumir APIs, limpiar datos, generar reportes financieros y trabajar con información externa desde Excel. Cómo llamar a una API desde una macro en Excel Macro en Excel para remover filas duplicadas Usar condi...

Cómo extraer datos de facturas XML (CFDI) automáticamente en Word — Macro lista para usar

Cómo extraer datos de facturas XML (CFDI) automáticamente en Word — Macro lista para usar

Si trabajas en contabilidad o administración, probablemente has perdido horas capturando datos de facturas XML (CFDI) manualmente. Copiar el RFC, UUID o los montos no solo consume tiempo, también aumenta el riesgo de errores que pueden afectar reportes y procesos fiscales.

Para resolver este problema, desarrollé una macro en Word que extrae automáticamente los datos clave de tus archivos XML y los coloca en una tabla lista para usar.

Esta herramienta está pensada para profesionales que buscan trabajar más rápido, reducir errores y automatizar tareas repetitivas.

¿Cuánto tiempo puedes ahorrar automatizando facturas XML?

Procesar facturas manualmente puede tomar entre 2 y 5 minutos por archivo. Si trabajas con solo 50 CFDIs al mes, esto puede representar hasta 4 horas de trabajo operativo.

Automatizar este proceso mejora la productividad, reduce errores humanos y permite enfocarte en tareas de mayor valor dentro de tu empresa.

¿Qué hace esta macro en Word?

  • 📥 Leer un XML CFDI versión 4.0
  • 📌 Extraer los datos clave automáticamente
  • 📄 Insertarlos en una plantilla de Word
  • 📧 Prepararlos para enviar por correo (opcional)

¿Para quién es ideal esta macro?

  • Contadores
  • Auxiliares administrativos
  • Despachos contables
  • Empresas con alto volumen de facturación
  • Profesionales que buscan automatizar procesos

¿Qué datos extrae la macro?

  • ✅ RFC del emisor
  • ✅ RFC del receptor
  • ✅ UUID del comprobante fiscal
  • ✅ Monto total de la factura

Código completo de la macro en Word

Presiona Alt + F11 en Word para abrir el editor de VBA, luego inserta un nuevo módulo y pega este código:

Sub LeerMultiplesCFDIsYCrearTabla()
    Dim xmlDoc As Object
    Dim archivos As Variant
    Dim i As Integer
    Dim rfcEmisor As String, rfcReceptor As String, uuid As String, total As String
    Dim tabla As Table
    Dim fila As Integer
    Dim excelApp As Object

    On Error Resume Next
    Set excelApp = GetObject(, "Excel.Application")
    If excelApp Is Nothing Then Set excelApp = CreateObject("Excel.Application")
    On Error GoTo 0

    archivos = excelApp.GetOpenFilename("Archivos XML (*.xml), *.xml", , "Selecciona uno o varios archivos XML", , True)
    If Not IsArray(archivos) Then Exit Sub

    Set tabla = ActiveDocument.Tables.Add(Range:=Selection.Range, NumRows:=1, NumColumns:=4)
    With tabla
        .Cell(1, 1).Range.Text = "RFC Emisor"
        .Cell(1, 2).Range.Text = "RFC Receptor"
        .Cell(1, 3).Range.Text = "UUID"
        .Cell(1, 4).Range.Text = "Total"
        .Rows(1).Range.Bold = True
    End With
    fila = 2

    For i = LBound(archivos) To UBound(archivos)
        Set xmlDoc = CreateObject("MSXML2.DOMDocument.6.0")
        xmlDoc.async = False
        xmlDoc.Load archivos(i)

        If xmlDoc.ParseError.ErrorCode = 0 Then
            xmlDoc.setProperty "SelectionNamespaces", _
                "xmlns:cfdi='http://www.sat.gob.mx/cfd/4' xmlns:tfd='http://www.sat.gob.mx/TimbreFiscalDigital'"

            On Error Resume Next
            rfcEmisor = xmlDoc.SelectSingleNode("//cfdi:Emisor").Attributes.getNamedItem("Rfc").Text
            rfcReceptor = xmlDoc.SelectSingleNode("//cfdi:Receptor").Attributes.getNamedItem("Rfc").Text
            total = xmlDoc.SelectSingleNode("//cfdi:Comprobante").Attributes.getNamedItem("Total").Text
            uuid = xmlDoc.SelectSingleNode("//tfd:TimbreFiscalDigital").Attributes.getNamedItem("UUID").Text
            On Error GoTo 0

            tabla.Rows.Add
            tabla.Cell(fila, 1).Range.Text = rfcEmisor
            tabla.Cell(fila, 2).Range.Text = rfcReceptor
            tabla.Cell(fila, 3).Range.Text = uuid
            tabla.Cell(fila, 4).Range.Text = total
            fila = fila + 1
        End If
    Next i

    MsgBox "Se procesaron " & (fila - 2) & " archivos XML.", vbInformation, "Macro CFDI"
End Sub

Así debe verse el resultado:

Descargar o comprar la macro lista para usar

Si prefieres ahorrar tiempo y obtener la macro completamente funcional sin configuraciones adicionales, puedes adquirirla aquí:

👉 Comprar macro para leer XML CFDI

También desarrollo macros personalizadas para empresas o procesos específicos.

📩 Contáctame: zelideth27@gmail.com

Cómo usar esta macro

  1. Abre Word y presiona Alt + F11.
  2. Crea un nuevo módulo (Insertar → Módulo).
  3. Pega el código.
  4. Guarda el archivo como .docm.
  5. Ejecuta la macro y selecciona tus archivos XML.
  6. Obtén automáticamente los datos en una tabla.

Video demostrativo

Beneficios de automatizar la lectura de CFDI

  • Ahorro significativo de tiempo
  • Menos errores de captura
  • Mayor eficiencia operativa
  • Mejor control documental
  • Procesos administrativos más rápidos

Preguntas frecuentes

¿La macro funciona con CFDI 4.0?

Sí, está diseñada para leer la estructura actual del SAT.

¿Necesito saber programar?

No. Solo debes copiar el código y ejecutarlo.

¿Puedo modificar los datos que extrae?

Sí, la macro es adaptable según tus necesidades.

¿Funciona con múltiples facturas?

Sí, puedes seleccionar varios XML al mismo tiempo.

Conclusión

Automatizar la extracción de datos desde facturas XML no solo ahorra tiempo — también mejora la precisión y la productividad.

Esta macro es una solución práctica para cualquier profesional que trabaje con CFDI y quiera optimizar su flujo de trabajo.

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

📊 Automatiza tu trabajo: Convierte tablas de Word a Excel con una macro

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)