PROGRAMAR EN VBA MACROS PARA EXCEL: Como Enviar Whatsapp Personalizado en Forma Masiva con Excel

Como Enviar Whatsapp Personalizado en Forma Masiva con Excel






A pedido de un suscriptor de nuestro canal de YuoTube se presenta Como Enviar Mensaje Personalizado de Whatsapp en Forma Masiva a Cada Contacto Registrado en Excel, ya se ha tratado el tema de utilizar Excel para enviar mensajes de Whatsapp en el link se podrán observar los ejemplos anteriores sobre Envío de Whatsapp con Excel.

Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Suscribe a nuestro canal para que YouTube te avise cuando se suba nuevo contenido al canal, en el vídeo encontrarás una explicación gráfica y detallada del ejemplo que se muestra en este post.






 


Para proceder a Enviar un Mensaje Personalizado de Whatsapp con Excel, básicamente se realiza un bucle y se aplica el procedimiento ya visto para enviar mensajes de Whatsapp desde Excel, al descargar el ejemplo se pude observar un listado o pequeña base de datos con los contactos en la columna A, los respectivos números de teléfono en la columna B y el mensaje personalizado que se le enviará a cada contacto en la Columna C.

El requisito necesario para poder enviar Whatsapp con Excel es tener previamente habilitado WebWhatsapp, desde acá se obtiene el aplicativo; la macro utiliza la API oficial de Whatsapp para poder enviar mensajes a través de Excel, no es necesario tener cargado en contacto en el teléfono para poder enviarle un mensaje Whatsapp con Excel.

El bucle se inicia en la fila dos hasta la última fila con datos de la Columna A, se cargan en las variables uf, la última fila con datos; en la variable telwhatsapp, el teléfono del contacto y en texwhatsapp el mensaje propiamente dicho, se usan los siguientes códigos:

uf = a.Range("A" & Rows.Count).End(xlupo).Row

For x = 2 To uf
telwhatsapp = a.Cells(x, "B")
textwhatsapp = a.Cells(x, "C")

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizá sea de utilidad también

Como Llenar Listbox con más de 10 columnas


Como Cargar Listbox con Datos Provenientes de Varias Hojas

Como hacer un link o hiperlink a google maps con Excel

Obtenido el número de teléfono para enviar Whatsapp se la macro navega hasta el link de la API de Whatsapp, cargando el número de teléfono y el mensaje, con el siguiente código:

mylinkwhatsapp = "https://api.whatsapp.com/send?phone=" & telwhatsapp & "&text=" & textwhatsapp
ActiveWorkbook.FollowHyperlink mylinkwhatsapp

Atento a que WebWhatsapp no es compatible con InternetExplorer dificulta la comunicación con el lenguaje de VBA - Excel, por lo que se apela a SenKey, esto envía los impulsos de teclas necesarios para poder lograr enviar el mensaje.

Como la aplicación de Whatsapp Web se va cargando con cada comando que se envía desde Excel, se debe esperar unos segundos para que se cargue la página Web, es decir se debe deterner la macro una vez cargada la página se procede a enviar el siguiente código, la rápidez con la que se envía el Whatsapp va a variar dependiendo de la velocidad de internet con la que se cuente, es por ello que cada uno debe modificar el tiempo en base a la velocidad de internet que posea, modificando las siguientes lineas:

Application.Wait (Now + TimeValue("00:00:05"))

En el código anterior 05 representa que la macro espera 5 segundos hasta que la página se cargue y mande el próximo comando, esto se puede modificar en más o menos, dependiendo de la velocidad de internet que se posea.

Sugiero ver el vídeo explicativo del ejemplo llamado Como Enviar Masivamente Whatsapp Personalizados desde Excel, seguidamente se muestra el código y al final está el link para descargar el ejemplo de Excel que envía Whastapp.


Código que se inserta en un Modulo de Excel

'**************https://programarexcel.com  **** https://youtube.com/programarexcel*********



#If VBA7 And Win64 Then
'Si es de 64 bits
Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr
Public Declare PtrSafe Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Public Declare PtrSafe Function GetWindowLongPtr Lib "USER32" Alias "GetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
Public Declare PtrSafe Function SetWindowLongPtr Lib "USER32" Alias "SetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
Public Declare PtrSafe Function DrawMenuBar Lib "USER32" (ByVal hwnd As Long) As LongPtr
Public Declare PtrSafe Function RegOpenKeyA Lib "advapire32.dll" (ByVal hKey As LongPtr, ByVal lpSubKey As String, phkResult As LongPtr) As LongPtr
#Else
'Si es de 32 bits
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Declare Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "USER32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib "USER32" (ByVal hwnd As Long) As Long
Public Declare Function RegOpenKeyA Lib "advapire32.dll" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
#End If
Public telwhatsapp, textwhatsapp

'*********** by marcrodos **** https://programarexcel.com  ***  https://www.youtube.com/c/programarexcel?sub_confirmation=1 ********

Sub EnviaWhatsapp()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set a = Sheets("Hoja1")
uf = a.Range("A" & Rows.Count).End(xlupo).Row

For x = 2 To uf
telwhatsapp = a.Cells(x, "B")
textwhatsapp = a.Cells(x, "C")

mylinkwhatsapp = "https://api.whatsapp.com/send?phone=" & telwhatsapp & "&text=" & textwhatsapp
ActiveWorkbook.FollowHyperlink mylinkwhatsapp

Application.Wait (Now + TimeValue("00:00:05"))
ActiveWindow.Application.SendKeys "{TAB}"
Application.Wait (Now + TimeValue("00:00:01"))
ActiveWindow.Application.SendKeys "{TAB}"
Application.Wait (Now + TimeValue("00:00:05"))
ActiveWindow.Application.SendKeys "(~)" 'énvia enter para enviar mensaje
Application.Wait (Now + TimeValue("00:00:18"))
ActiveWindow.Application.SendKeys "(~)"
Next x
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Sub macro1(control As IRibbonControl)
On Error Resume Next
respuesta = MsgBox("¿Seguro desea enviar Whatsapp a los contactos listados?", vbCritical + vbYesNo)
If respuesta = 6 Then
Call EnviaWhatsapp
End If
End Sub

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends