Enviar Mensajes Masivos en WhatsApp desde Excel con Texto y Archivos

Si alguna vez has buscado una forma automatizada de enviar mensajes en WhatsApp con archivos adjuntos (Excel, PDF, imágenes, PowerPoint, etc.), este tutorial es para ti. En este artículo, te mostraré cómo hacerlo utilizando macros en Excel y la versión de escritorio de WhatsApp.

Con este método, podrás:
Enviar mensajes masivos con texto personalizado.
Adjuntar cualquier tipo de archivo.
Automatizar envíos solo a clientes con pagos vencidos o según una condición.

Enviar Mensajes Masivos en WhatsApp desde Excel con Texto y Archivos (Excel, Imágenes, PDF, etc.)

Enviar Mensajes Masivos en WhatsApp desde Excel con Texto y Archivos (Excel, Imágenes, PDF, etc.)

Suscríbete para más tutoriales

Descarga el archivo para practicar

Escribe tu correo electrónico para recibir gratis el archivo para practicar.

Paso 1: Preparar los datos en Excel

Antes de comenzar con la macro, necesitas organizar la información en una hoja de Excel. Asegúrate de incluir las siguientes columnas:

📌 Teléfono (incluyendo código de país).
📌 Nombre del contacto (opcional).
📌 Saldo o estado del pago (para definir a quién enviar mensajes).
📌 Texto del mensaje a enviar.
📌 Ruta del archivo (imagen, PDF, Excel, etc.).

Solo se enviarán mensajes a los contactos que cumplan la condición definida (por ejemplo, pagos vencidos).


Paso 2: Instalar WhatsApp de Escritorio

Para que la automatización funcione, es obligatorio utilizar la versión de escritorio de WhatsApp, no la versión web.

🔹 Ve al Menú Inicio de Windows.
🔹 Abre la Microsoft Store y busca WhatsApp Desktop.
🔹 Instala la aplicación y ábrela.
🔹 Vincula tu cuenta escaneando el código QR desde la opción Dispositivos Vinculados en tu WhatsApp móvil.

⚠️ ¿Por qué no usar WhatsApp Web?
En versiones anteriores, la automatización funcionaba en la web, pero WhatsApp ha cambiado su interfaz, haciendo que el método tradicional deje de funcionar.


Paso 3: Crear la Macro en Excel

Aquí es donde entra en acción VBA (Visual Basic for Applications) para automatizar el proceso. La macro se encargará de:
Detectar los clientes con pagos vencidos.
Abrir Chrome y generar un enlace de WhatsApp con el mensaje.
Adjuntar el archivo al mensaje automáticamente.
Cerrar la ventana de Chrome para evitar acumulación de procesos.

🔽 Código VBA para enviar mensajes masivos en WhatsApp desde Excel

Option Explicit

'Mi canal de YouTube | youtube.com/user/sergioacamposh
'Mis cursos | deztaca.com
'Archivos para practicar | exceleinfo.com
'Descarga mi add-in | addin.exceleinfo.com
'Obtén la Certificación Excel Expert | exceleinfo.com/certificacion-mos

Sub EnvíoMensajesW4()

Dim Celda As Range
Dim Status As String
Dim Teléfono As String
Dim Documento As String
Dim Texto As String
Dim fso As Object
Dim shellObj As Object
Dim fileObj As Object
Dim Url As String
Dim chromePath As String

Set fso = CreateObject("Scripting.FileSystemObject")
Set shellObj = CreateObject("Shell.Application")

For Each Celda In Envío.Range("Clientes[TELÉFONO]")

    Status = Celda.Offset(0, 4).Value
    
    If Status = "VENCIDO" Then
    
    Teléfono = Celda.Value
    Texto = Celda.Offset(0, 6).Value
    Documento = Celda.Offset(0, 7).Value
    
    ' Verifica si el documento existe antes de intentar copiarlo
    If fso.FileExists(Documento) Then
        Set fileObj = shellObj.Namespace(fso.GetParentFolderName(Documento)).ParseName(fso.GetFileName(Documento))
        fileObj.InvokeVerb "Copy"  ' Copia el documento al portapapeles sin abrir el Explorador
    Else
        'Continuamos
        GoTo SiguienteCliente
    End If
    
    ' Construye la URL para enviar el mensaje por WhatsApp
    Url = "https://wa.me/" & Teléfono & "?text=" & Application.WorksheetFunction.EncodeURL(Texto)
    
    ' Abrir la URL en Google Chrome
    chromePath = """C:\Program Files\Google\Chrome\Application\chrome.exe"""
    Shell (chromePath & " --new-window " & Url & " --incognito"), vbNormalFocus
    
    Application.Wait (Now + TimeValue("00:00:05")) ' Espera para asegurar que se envíe el mensaje
    
    SendKeys "~", True
    Application.Wait (Now + TimeValue("00:00:02"))
    SendKeys "^v", True
    Application.Wait (Now + TimeValue("00:00:02"))
    SendKeys "~", True
    
    ' Cierra Chrome usando taskkill
    Shell "taskkill /IM chrome.exe /F", vbHide
    
    Application.Wait (Now + TimeValue("00:00:02"))
    
    ' Pone un mensaje de enviado en la tabla
    Celda.Offset(0, 8).Value = "ENVIADO"
    
    End If
    
SiguienteCliente:

Next Celda

'Activa nuevamente el teclado numérico
SendKeys "{NUMLOCK}", True

End Sub

Paso 4: Ejecutar la Macro

🔹 Abre tu archivo de Excel.
🔹 Verifica que WhatsApp Desktop esté abierto y vinculado.
🔹 Presiona el botón para ejecutar la macro.
🔹 Observa cómo se abren los chats, se escriben los mensajes y se envían los archivos de forma automática.


Consejos y Advertencias

🔸 Evita el envío masivo excesivo, ya que WhatsApp puede bloquear tu cuenta si detecta un uso no autorizado.
🔸 Este método es ideal para enviar recordatorios de pago o información interna en la empresa, no para marketing masivo.
🔸 Prueba la macro con pocos contactos antes de usarla en casos reales.

Certifícate en Excel

Tienes experiencia en Excel y quieres mejorar tus oportunidades laborales? Obtén la Certificación Excel Expert avalada por Microsoft.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top