CREA TU PROPIO SOFTWARE DE ENVIO MASIVO - 2º Clase


API WHATSAPP DESKTOP
PROGRAMAR EL ENVÍO MASIVO

Esta segunda clase es una verdadera obra de arte porque lo que logramos es conectarnos con la Api de WhatsApp Desktop para pasarle los parámetros de los envíos masivos. En nuestra base de datos creada con anterioridad (podés ver la primera parte acá) creamos el formulario encargado de enviar los mensajes a los contactos que YA tenemos guardados en nuestra base. 


Ahora llegó el momento de programar el envío masivo.



PASO 1
Comenzamos entrando al entorno de programación haciendo click en el botón ENVIAR y en sus PROPIEDADES vamos a EVENTOS > CLICK

Una vez dentro escribimos el siguiente código:

Private Declare PtrSafe 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

Const SW_NORMAL = 1

Private Sub cmdEnviar_Click()
    
    'Variables del envío que necesita la API
    Dim mensaje As String
    Dim ejecutar
    
    'Variables del entorno de ACCESS
    Dim dbTemporal As DAO.Database
    Dim rsREGISTROS As DAO.Recordset
    Set dbTemporal = CurrentDb
 
    'Seleccionamos toda la tabla, aunque también podrías seleccionar sólo una parte con una consulta.
    Set rsREGISTROS = dbTemporal.OpenRecordset("CONTACTOS", dbOpenDynaset)
 
    'Por si acaso nos movemos al final y luego al principio. Si hay error salta acá
    rsREGISTROS.MoveLast
    rsREGISTROS.MoveFirst
 
    
    'Ahora empezamos a recorrer el conjunto de registros
    Do While Not rsREGISTROS.EOF
       
         'armamos el mensaje y lo ejecutamos. Replace es para reemplazar el espacio q a veces da error en WhatsApp
         mensaje = VBA.Replace("whatsapp://send?phone=" & rsREGISTROS![Phone Number ___] & "&text=" & txtMensaje.Value, " ", "%20")
         ejecutar = ShellExecute(hwnd, "Open", mensaje, &O0, &O0, SW_NORMAL)
        
        'Se envian los tecleos y las pausas
        Pause (2) 'Espera unos segundos.
        Call SendKeys("{ENTER}", True) ' Esta linea envía un ENTER
        Pause (2) 'Espera unos segundos.
           
        rsREGISTROS.MoveNext   'siguiente registro
    DoEvents
    Loop
 
     'limpiamos y liberamos
    rsREGISTROS.Close
    dbTemporal.Close
    Set rsREGISTROS = Nothing
    Set dbTemporal = Nothing
    
    ' Vuelve el foco a la ventan de ACCESS. SE DEBE LLAMAR IGUAL QUE EL TITULO DE LA VENTANA.
    On Error Resume Next
    AppActivate Application.CurrentObjectName
    
    'Finaliza con un mensaje
    MsgBox "MENSAJES ENVIADOS", vbInformation

End Sub

La primera línea es la famosa API de WhatsApp, encargada de comunicarse con la ventana de WhatsApp Desktop para gestionarnos el envío de los mensajes. Hay algunas cosas a tener en cuenta, como el nombre del cuadro de texto o los campos de la base de datos. Te sugiero que acompañes al pegado del texto con la mirada del video de esta clase.



También puedes descargar el ARCHIVO DE EJEMPLO FUNCIONANDO

¡No te pierdas el próximo video!



Comentarios

Entradas populares de este blog

CREA TU PROPIO SOFTWARE CRM DE WHATSAPP MASIVO - 1º Clase

PLANTILLA PARA ENVIAR WHATSAPP MASIVOS CON ADJUNTO DESDE EXCEL