Enviar Masivamente Whatsapps desde Excel y Cerrar Chrome
Anteriormente se mostró una Macro de Excel que responde al requerimiento de Como Enviar Whatsapp en forma MASIVA desde Excel Nueva Versión, esta macro utiliza la API oficial de Whatsapp para poder enviar los mensajes de Whatsapp desde Excel, perso sucede que por cada envío va creando una nueva hoja de Chrome, por ende en este post se muestra como cerrar la ventana de Chrome al enviar Whatsapp masivos con Excel VBA.
Se un experto manejando excel, 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, te lo recomiendo no te arrepentirás.
En el vídeo verás la macro en acción con una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestro canal de You Tube, mira el playlist con vídeos relacionados donde podrás ver la macro en acción con una explicación en forma visual que ayudará a entender el ejemplo en forma más fácil.
Envío de Whatsapp a Distintos Contactos a la Vez y Cerrar Ventana Chrome
La macro par Enviar Mensajes de Whatsapp Masivos con Excel, se encuentra el botón con el simbolo de Whatsapp que se muestra el ejecutar el formulario contenido en el ejemplo usado y que se denomina enviar con Excel Varios Mensajes de Whatsapp a la vez y Cerrar Ventana de Chrome.
Se deben seleccionar los contactos en el listbox y ejecutar la macro presionando el botón con el logo de Whatsapp, si se desea saber como funciona el formulario, se puede ver el vídeo y ejemplo respectivo en esta web llamado como enviar Whatsapp con Excel con Buscador de Contacto.
Explicación de la Macro que Permite Enviar Mensajes a varios Contactos de Whatsapp y Cerrar Chrome
Seleccionado los destinatarios de los mensajes de Whatsapp se debe presionar el botón con el logo para ejecutar la macro y enviar de Whatsapp a varios destinatarios a la vez, la misma obtiene el número de teléfono y el mensaje de los textbox del formulario guardando los valores en una variable pública, es decir que se puede usar en cualquier parte del proyecto de VBA.
Primero se valida que el contacto tenga número de teléfono y mensaje a enviar, se hace con la siguiente macro:
If telwhatsapp = Empty Or textwhatsapp = Empty Then
MsgBox («Debe ingresar número de telefono y texto para enviar Whatsapp»), vbCritical, «AVISO»
Exit Sub
End If
En caso que se haya ingresado el número de teléfono y el mensaje se navega hasta la API Oficial de Whatsapp, así:
mylinkwhatsapp = «https://api.whatsapp.com/send?phone=» & telwhatsapp & «&text=» & textwhatsapp
ActiveWorkbook.FollowHyperlink mylinkwhatsapp
Realizamos o enviamos pulsaciones de teclado que consiste en un TAB y Enter, ello nos permite abrir Whatsapp Web que está instalado en nuestra PC, cerrando la ventana de Chrome que se genera, con los siguientes códigos:
Application.Wait (Now + TimeValue(«00:00:10»))
ActiveWindow.Application.SendKeys «{TAB}»
ActiveWindow.Application.SendKeys «(~)»
ActiveWindow.Application.SendKeys «^W»
Para cerrar la ventana de Chrome al Enviar Whatsapp se debe escribir el siguiente código:
ActiveWindow.Application.SendKeys «^W»
El resto de códigos es para enviar el mensaje cuando ya está abierto Whatsapp Web:
Application.Wait (Now + TimeValue(«00:00:05»))
ActiveWindow.Application.SendKeys «(~)»
Application.Wait (Now + TimeValue(«00:00:02»))
Lo mencionado anteriormente se realiza por cada uno de los contactos seleccionados, el resultado es que no queda una ventana de Chrome abierta por cada contacto enviado, sino que es cerrada inmediatamente al enviar el Whatsapp desde Excel.
Quizás también interese leer:
Macro VBA recorre filas, busca y copia datos en base a criterios
Copia datos, abre otro libro pega datos y lo cierra
Barra de progreso para una apariencia profesional
Descarga del código del aplicativo Enviar En Forma Masiva Whatsapp desde Excel
Para descargar el ejemplo se debe hacer click en el link correspondiente que se encuentra al final del post, solicito aportar a sostener la esta web si está dentro de tus posibilidades, desde ya muchas gracias.
Código que se encuentra en el modulo Envío Whatsapp Masivo y Cerrar Chrome
Public telwhatsapp, textwhatsapp
‘*********** by marcrodos **** https://macrosenexcel.com *** https://www.youtube.com/c/programarexcel?sub_confirmation=1 ********
Sub Muestra()
UserForm1.Show
End Sub
Sub EnviaWhatsapp()
‘*********** by marcrodos **** https://macrosenexcel.com *** https://www.youtube.com/c/programarexcel?sub_confirmation=1 ********
If telwhatsapp = Empty Or textwhatsapp = Empty Then
MsgBox («Debe ingresar número de telefono y texto para enviar Whatsapp»), vbCritical, «AVISO»
Exit Sub
End If
mylinkwhatsapp = «https://api.whatsapp.com/send?phone=» & telwhatsapp & «&text=» & textwhatsapp
ActiveWorkbook.FollowHyperlink mylinkwhatsapp
Application.Wait (Now + TimeValue(«00:00:10»))
ActiveWindow.Application.SendKeys «{TAB}»
ActiveWindow.Application.SendKeys «(~)»
ActiveWindow.Application.SendKeys «^W»
Application.Wait (Now + TimeValue(«00:00:05»))
ActiveWindow.Application.SendKeys «(~)»
Application.Wait (Now + TimeValue(«00:00:02»))
End Sub
Código que se Encuentra en el Formulario que Envía Whatsapp a Varios Destinatarios a la Vez
Private Sub CommandButton1_Click()
‘*********** by marcrodos **** https://programarexcel.com *** https://www.youtube.com/c/programarexcel?sub_confirmation=1 ************************************
Dim Num As New Collection, dato, conta As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
‘Crea una colección de datos del listbox
Set aa = UserForm1.ListBox1
For x = 0 To aa.ListCount – 1
If aa.Selected(x) = True Then
Num.Add aa.List(x, 1)
End If
Next x
conta = 0
For Each dato In Num
conta = conta + 1
telwhatsapp = dato
textwhatsapp = UserForm1.TextBox1
Call EnviaWhatsapp
Next dato
MsgBox («Se envió Whatsapp a » & conta & » contactos»), vbInformation, «REPORTE»
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Private Sub CommandButton2_Click()
Set a = UserForm1.ListBox1
For x = 1 To a.ListCount – 1
If a.Selected(x) = True Then
a.Selected(x) = False
GoTo sal:
End If
If a.Selected(x) = False Then a.Selected(x) = True
sal:
Next x
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub TextBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Clear
UserForm1.TextBox1 = TextBox2
End Sub
Private Sub TextBox3_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Clear
UserForm1.TextBox1 = TextBox3
End Sub
Private Sub TextBox4_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Clear
TextBox1 = TextBox4
End Sub
Private Sub TextBox5_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Clear
UserForm1.TextBox1 = «Expte: » & UserForm1.TextBox2 & » Caratula » & UserForm1.TextBox3
TextBox1 = TextBox5
End Sub
Private Sub TextBox6_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Clear
UserForm1.TextBox1 = «Expte: » & UserForm1.TextBox2 & » Caratula » & UserForm1.TextBox3
TextBox1 = TextBox6
End Sub
Private Sub TextBox7_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Clear
UserForm1.TextBox1 = «Expte: » & UserForm1.TextBox2 & » Caratula » & UserForm1.TextBox3
TextBox1 = TextBox7
End Sub
Private Sub UserForm_Initialize()
Dim cn As ADODB.Connection, rs As ADODB.Recordset, sql As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
ExpteWhatsapp = «SUSCRIBE https://www.youtube.com/c/programarexcel?sub_confirmation=1»
UserForm1.TextBox1 = ExpteWhatsapp
UserForm1.TextBox2 = «Estimado recuerda » & ExpteWhatsapp & » activa la campanita y YouTube te avisara cuando se suba nuevo contenido «
UserForm1.TextBox3 = «Automatiza tus Libros Excel, tutoriales semanales, recuerda » & ExpteWhatsapp & » todas las semanas ideas sobre como automatizar tus libros Excel «
UserForm1.TextBox4 = «Mis datos son:» & Chr(13) & » https://www.youtube.com/c/programarexcel?sub_confirmation=1 » & Chr(13) & » comenta, dale LIKE si te fue útil»
UserForm1.TextBox5 = «Recuerda darle LIKE Y COMENTAR SI FUE UTIL: » & Chr(13) & «RECUERDA » & ExpteWhatsapp
UserForm1.TextBox6 = «Su próxima factura de ProgramarExcel.com vence el: » & Chr(13) & «14/06/2020 «
UserForm1.TextBox7 = «https://programarexcel.com Descarga cientos de ejemplos de Macros de Excel GRATIS, aporta al canal si puedes, sino con like, comentario y suscripción es suficiente»
UserForm1.ListBox1.ColumnCount = 2
UserForm1.ListBox1.ColumnWidths = «80 pt; 60 pt»
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set a = Sheets(«Hoja1»)
cn.Open «Provider=Microsoft.ACE.OLEDB.12.0;» & «Data Source=» & ThisWorkbook.FullName & «;Extended Properties=»»Excel 12.0;HDR=Yes;»»»
sql = «SELECT * FROM [» & «Hoja1$A1:C65000» & «]»
Set rs = cn.Execute(sql)
If rs.EOF = True Then
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
Exit Sub
Else
UserForm1.ListBox1 = Clear
‘Adiciona un item al listbox reservado para la cabecera
UserForm1.ListBox1.AddItem
rs.MoveFirst
Do While Not rs.EOF
UserForm1.ListBox1.AddItem rs.Fields(0).Value
UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount – 1, 1) = rs.Fields(1).Value
rs.MoveNext
Loop
‘Carga los datos de la cabecera en listbox
For ii = 0 To rs.Fields.Count – 1
UserForm1.ListBox1.List(0, ii) = rs.Fields(ii).Name
Next ii
‘Selecciona todos los items
catreg = UserForm1.ListBox1.ListCount – 1
For x = 1 To UserForm1.ListBox1.ListCount – 1
UserForm1.ListBox1.Selected(x) = True
Next x
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
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.
Donate:
Cuenta Paypal: https://paypal.me/programarexcel
Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd
Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407