En este caso es un módulo para automatizar el envío de mensajes por WhatsApp con archivos adjuntos, utiliza una técnica de automatización de teclado y mouse, donde realiza el envío utilizando el navegador predeterminado con el uso del api web.whatsapp.com (aclaro esto No es mediante WhatsApp Business API).
Es necesario en el navegador predeterminado tener previamente vinculado web.whatsapp.com al número de teléfono con el que se quiere enviar los mensajes, una vez hecho esto puede probar el ejemplo que les comparto, este método al ser automatizado no da la posibilidad de tener una confirmación si el mensaje fue enviado con éxito, tengamos en cuenta que si internet no está funcionando bien, el mensaje quedaría en cola.
De momento cada mensaje que se envía deja una pestaña abierta en el navegador, si bien se puede cerrar automatizando algunas combinaciones de teclas, esto no es una práctica segura ya que el mensaje aún podría estar en su proceso de envío, especialmente con adjuntos grandes o mala conexión de internet.
Tiene como dependencia únicamente para ide la librería oleexp.tlb, la cual está adjunta en el ejemplo, esta librería no es necesaria distribuirla en la instalación, una vez compilado ya no es necesaria.
Para usuarios de VBA, quizás pueda servirles modificando las apis y algunos ajustes más, no lo he podido testear.
Actualización: Se ha implementado el uso del Desktop WhatsApp, con esta opcion los envíos son muchos mas rápidos, si la aplicación no esta abierta, el tiempo de envío es igual al del navegador pero si la aplicación se encuentra corriendo, el proceso de envío es instantáneo.
Un detalle a tener en cuenta si se tiene el IDE de vb6 elevado con derecho de administrador no funcionara el adjunto de archivos, lo mismo si el ejecutable compilado corre con derecho de administrador, es decir tanto Desktop WhatsApp como nuestra aplicación deben tener los mismos privilegios.
Ultima Actualización 20/09/2023
WhatsApp version: 2.2336.7.0
Thanks Leandro, this application is very helpful!
Gracias!!! Por qué a veces queda la ventana a punto de enviar y no llega enviarse el mensaje? Es decir te obliga a presionar Enter en WhatsApp para que se envíe. Qué puede ser?
Hola Diego, calculo una posible causa es que el tiempo de espera no es el adecuado por tu procesador o velocidad de internet, lo primero que tendrías que probar es aumentar el tiempo de espera que tiene la funcion si te fijas el tercer parámetro de la funcion mWhatsAppMsg.SendMsg tiene 8000 por defecto, auméntalo a 10000, quizás con eso ya se solucione de lo contrario abría que modificar algún Sleep interno del modulo.
me cuentas como te fue, saludos.
Muchísimas gracias Leandro! Funcionó perfecto cambiando ese parámetro, todos los intentos que probé ninguno falló!!
Hay forma de ocultar la venta verde que muestra que está enviando el mensaje?
Mil gracias por el código, excelente aporte!
si comenta esta linea que esta en el form load
Set mWhatsAppMsg.AnimateScreen = Form2
luar biasa kode nya leandro…kode ini saya coba berhasil diversi destop sebelumnya tapi sekarang setelah di update wa destop nya tidak dapat lagi mengirim pesan..neri saran leandro..
Hola Leandro, en la versión de WhatsApp 2022, si permite trabajar con el api «whatsapp://send?phone=», pero ahora ya esa versión esta como Outdated y esta próxima a vencer o obliga a que se migre a la nueva versión que de debe descargar de su plataforma Play Store.
El problema es que la nueva versión no permite usar el api «whatsapp://send?phone=», y más aun si el numero al que se envía no esta en la lista de contacto.
No se si lograste revisar este problema.
Gracias y saludos desde Perú
Hola esta versión esta funcionando bien, versión del WhatsApp 2.2319.7.0
Hai…Leandro..sebelum saya mengucapkan banyak terima kasih…berkat project yang buat banyak sekali membantu saya…akan tetapi saya punya masalah dengan bagaimana cara membuat aplikasi yang di buat dengan vb6 dapat menjawab chat whatsapp secara otomatis…mohon bantuan nya
Hai…Leandro…saya sudah menggunkan contoh project yang anda buat ke project saya tetapi ada kendala ketika whastapp destop ganti versi,,,muncul terus Forward mesage ketika konsumen saya tidak ada terdaftar nomor wa nya..gimana cara nya leadnro supaya ketika konsumen saya tidak ada terdaftar nomor kontak pesan forward mesagenya di hilangkan,,,saya mohon bantuannya
probaste descargarlo de nuevo?, hace poco hice una actualizacion, con esta actualizacion no deberia frenarse si el contacto no esta en la lista, coméntame como te fue.
Ya..saya ingin mengunduh nya lagi..leandro pembaruan nya kapan terakhir?
Saya sudah menggunduh yang tanggal 13/05/2023 yang sebelum nya sudah berhasil..tetapi whatsapp destop ada update terbabaru…jadi setelah di upate ketika nomor kontak konsumen tidak ada whatsapp terhendi dan muncul forward mesange..leandro dan pengiriman terhenti…jadi pengiriman chat ke koblnsumen lai terhenti..mohon bantuan n pembahruan leandro…s
en la versión 2.2328.5.0 funciona todo ok, si el contacto no existe, hace algunos click en lugares para cerrar la ventana de reenvío y no lo envía, para mi funciona bien, en todo caso podria enviarme un video para ver cual es el problema
terima kasih atas bantuannya,,leandro kemana video bisa saya kirim,,, terima kasih leandro
leandroascierto@ gmail.com or hotmail.com
Sudah berjalan baik leandro..yang projek nya sebelum sleep delay nya saya ubah..ternyada pengaruh di sana sudah saya ubah sleep 500..leandro..apakah project ini bisa di kembangkangkan menjadi auto replay untuk konsumen…jika mereka membalas chat dari kita…terima kasih leandro
Hola Leandro, tengo un problema, no me envía un pdf que le adjunto, me envía el mensaje pero el adjunto no.
Muchas gracias
respondo en el de abajo
Buenos días Estimado Leandro, estoy haciendo pruebas pero no adjunta el archivo. gracias por este gran aporte.
a mi me esta funcionando, recuerda que para los adjuntos si lo estas probando desde el ide y este esta elevando con derechos de administrador no funciona, proba con un ejecutable, si no lo envía quita el formulario que tapa todo Set mWhatsAppMsg.AnimateScreen = Form2 y fijate que paso, porque calculas que no se envió, recuerda que es una automatización del mouse y teclado.
Buenos dias Leandro, esto me ha servido muchisimo, te agradezco mucho.
Hola Leandro, antes que nada felicitarte por este excelente trabajo.
En las nuevas versiones de Whatsapp cuando envía adjuntos; sale una advertencia indicando «si abandonas esta pantalla no se enviara tu mensaje ni archivo adjunto» y no enviaba. Pude solucionarlo cambiando Sleep 500 en el InitDrag, pero no se si es lo mejor. La version de whatsapp es la 2.2336.7.0
Hola Julián gracias por informar he actualizado el modulo, descárgalo nuevamente.
Parabéns Leandro, infelizmente a busca poderia ser por string também, um grupo do WhatsApp por exemplo fica prejudicado, somente é enviado para um respectivo número. Obrigado.
Creio que seja a tradução, me refiro ao envio de mensagem para Grupos do WhatsApp
Leandro soy un programador consumado de VB6 y el Conocimiento que ha compartido ha sido y seguirá siendo de gran utilidad, así que le quiero agradecer por su aporte, muchas gracias y éxito en sus proyectos.
Hola Leandro,
Estaba viendo tu código para enviar whatsapp mediante código de vb6, pero lo he corrido varias veces y no me manda el mensaje, se queda pegado y necesita presionar el boton enviar para que le envie. Estoy entrampado con esto y necesito esto, es muy importante.
Podrá alguien ayudarme.
Muchas Gracias.
Saludos
Estimado Leandro, con un cordial saludo le expreso mi agradecimiento por el conocimiento compartido que me ha sido y seguirá siendo de gran utilidad, pero no logre enviar un archivo adjunto, solo el mensaje de texto, el command Send tiene este codigo
Private Sub CmdSend_Click()
If TxtPhoneNumber.Text = «» Then
MsgBox «Phone number is empty»
TxtPhoneNumber.SetFocus
Exit Sub
End If
mWhatsAppMsg.SendMsg TxtPhoneNumber.Text, TxtMsg.Text, , ChkWADesktop.Value
End Sub
Te agradeceré me expliques si puede enviar el archivo adjunto.
de antemano Muchas Gracias.
si estas usando la aplicación de whatsApp puede que desde el ide no te funcione porque el ide tiene derecho de administrador y no lo envié, tiene que esta compilada la aplicación, y si usas el navegador tendría que funcionar sin problemas
recomiendo siempre usar la aplicación porque es mas rápido y no deja una pestaña abierta del navegador.
Hai Leandro..Saya mau tanya kenapa bebarapa hari ini pengiriman dengan WhatsApp Web tidak mau mengirim pesan, hanya di simpan di Draf saja..apa penyebab nya leandro? sebelum sebelumnya tidak ada masalah..mohon bantu leandro..apakah perbahan versi mempengaruhi, web whatapp.? Terima kasih
Buen aporte excelente muchas gracias por compartir tu conocimiento , pregunta como hago para enviar un emoji comenta que en fomato unicode pero no logro enviar.. saludos
Hola Leandro, como se pueden enviar emojis, gracias por el aporte, muy bueno.
Halo Leandro…kenapa whatsapp web sekarang tidak bisa lagi mengirim pesan dari contoh project di vb6 di atas…mohon bantuan leandro di mana masalah nya…saya mengharapkan bantuan anda
Feliz año Alejandro! Sos un groso, testeado 2/1/2024 funciona perfecto
Hola Leandro, excelente tu trabajo, Solo te quería consultar una cosa.
Yo estoy usando el Whatsapp web que lo tengo levantado. Resulta que
cuando ejecuto la app me levanta otra pagina de Whatsapp web, envía el mensaje muy bien, pero me deja esta página levantada, eso se puede solucionar?.
Intenté comentar esta sentencia,
ShellExecute mHwnd, StrPtr(«Open»), StrPtr(«https://web.whatsapp.com/send?phone=» & PhoneNumber & «&text=» & Text & «&app_absent=1&send=1»), 0, 0, 1
Pero no funciona.
Gracias,
Jorge
consulta para detectar si existe el numero de Ws, y quitar el mensaje desde WS APP q no existe, hay alguna manera
Ao fazer download mcafee acusou virus!!
Saludos mi Estimado. Una observación cuando utilizo la función ShellExecute para abrir su aplicación de mensajería de WhatsApp desde un programa principal, que se encuentra ambas en un determinado directorio pareciera que se pierde le contexto de la aplicación es decir si abro la aplicación(Ws) directamente con el mouse, se ejecuta en un contexto de usuario que puede incluir variables de entorno y otros parámetros que no siempre se replican al utilizar ShellExecute desde otro programa. Por ejemplo no adjunta y se le tiene que dar clic para terminar de enviar el mensaje. Estoy usando windows 10, no se si es un problema particular por falta de alguna configuración. Gracias de antemano
Hola Yovany, ya hace un año que no lo actualizo, es probable que hayan hechos cambios WhatsApp y ya no funcione, pero bueno el codigo esta y haciendo los cambios necesarios puedes actualizarlo.
yes, same problem and there is not solution as to that. Whatsapp will kill all the automation applications soon.
I will start using API instead
to make this code work.. and to prevent a glitch in sending attachments. This will drag the file without having the cursor method intervening.
change the procedure as follows
‘Move the mouse and drag the file
If Not m_Files Is Nothing Then
If m_Files.Count > 0 Then
SetTimer mHwnd, 0&, 500, AddressOf TimerProc
SendWhatsappFile = InitDrag
End If
End If
Hola estimado leandro yo estoy intentado implementar tu modulo dentro de mi aplicación, pero me da error al ejecutar me retorna variable de usuario no definida UUID me gustaría me expliques como puedo quitar este error
Olá Leandro, tem como enviar imagens e emojis?
Observei que existe uma função para esta situação, mas como inserir na coleção m_Images?
If Not m_Images Is Nothing Then
For i = 1 To m_Images.Count
Clipboard.Clear
Clipboard.SetData m_Images(i)
Call keybd_event(vbKeyControl, 0, KEYEVENTF_KEYDOWN, 0)
Call keybd_event(vbKeyV, 0, KEYEVENTF_KEYDOWN, 0)
Call keybd_event(vbKeyControl, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(vbKeyV, 0, KEYEVENTF_KEYUP, 0)
Sleep 1000
Next
End If
Bonjour,
Merci beaucoup c’est très utile
Regards
YG
buenas tardes,
tengo el siguiente error mHwnd = Screen.ActiveForm.hwnd se pone en amarillo esta linea , y no entiendo por que estaba funcionando perfectamente con whatsaap desktop y de la nada dejo de funcionar, sabras algun motivo , muchas gracias por tu aporte Leandro
Hola Luis, la verdad no estuve revisando mas el proyecto, ya no se si funciona, porque seguramente whatsapp abra echo algunos cambios.
si es lo mas probable se actualizo la versión eso va a ser , muchas gracias Leandro
me pasó exactamente lo mismo… y más o menos para esa fecha… me envía mensajes pero no adjuntos… pudiste resolverlo Luis?
solo comente la siguiente linea en el modulo llamado mWhatsAppMsg
»mHwnd = Screen.ActiveForm.hwnd y posterior solo deje la ventana del whatsapp fuera de coordenadas de pantalla principal que quede minimizada, para que cunaod pierda el foco no quede mazimizada; asi me esta funcionando