Invio messaggio da Access a WhatsApp

di il
8 risposte

Invio messaggio da Access a WhatsApp

Buongiorno a tutti, sto cercando un modo per inviare msg WhatsApp tramite Access da una semplice maschera con numero di cellulare (Cellulare) e messaggio (txtmsg). In rete ho trovato un tutorial ad hoc ma non mi funziona perché nel codice crea un oggetto di tipo Internet Explorer mentre io ho Edge. Il mio problema (credo) è che non riesco a sostituire efficacemente Edge a Explorer nel codice che riporto:

Option Explicit
#If VBA7 Then
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

#Else
Private Declare Sub Sleep.Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If


Public Function SendWhatsAppMsg(Cellulare As String, Optional txtmsg As String, Optional FilePath As String)

Dim IE As Object

'NON FUNZIONA NESSUN SET
Set IE = CreateObject("InternetExplorer.Application")
Set IE = CreateObject("msedge")
Set IE = CreateObject("msedge.Application")

IE.Visible = False

IE.navigate "whatsapp;//send?phone=+39" & Cellulare & "&Text=" & Nz(txtmsg, "")
Sleep 2000
   If Len(FilePath) > 5 Then
   SendKeys "+{TAB}"
   SendKeys "~"
   Sleep 2000
   SendKeys "{UP}"
   SendKeys "{UP}"
   SendKeys "~"
   Sleep 2000
   SendKeys Nz(FilePath, "")
   SendKeys "~"
   Sleep 3000
   Else
   End If

SendKeys "~"
SendKeys "(NUMLOCK)", True
Set IE = Nothing

End Function

Sapreste indicarmi dove sbaglio?

Grazie mille!

8 Risposte

  • Re: Invio messaggio da Access a WhatsApp

    Edge NON supporta l'automazione COM quindi non potrai mai usare la CreateObject.

    Puoi dare un'occhiata a Selenium per usare Edge (e altri browser). Comincia a leggere da

    https://learn.microsoft.com/en-us/microsoft-edge/webdriver-chromium/?tabs=c-sharp#using-selenium-4

    P.S. Quando posti del codice nel forum, usa i tag CODE per formattarlo.

  • Re: Invio messaggio da Access a WhatsApp

    Grazie oregon ma è un programmino per un amico che vuole mandare avvisi automatici di scadenze ai clienti perciò deve essere semplice. Vedo se con gli Sms è più facile ( non credo) altrimenti gli propongo una classica email. Ma questa “problematica” di Edge è comune anche agli altri browser?

  • Re: Invio messaggio da Access a WhatsApp

    Mi intrufolo per un istante e dico anch'io la mia, immaginando come potrebbe proseguire Oregon.

    09/10/2024 - Leonardo71 ha scritto:

    un programmino per un amico … perciò deve essere semplice

    Ma infatti questo è “compito tuo”, rendergli l'utilizzo semplice. Il fatto che dietro ci sia più o meno lavoro è un altro discorso. Sempre che abbia capito giusto il sendo di “deve essere semplice”, cioè per il tuo amico, non la parte che tocca a te.

    09/10/2024 - Leonardo71 ha scritto:

    questa “problematica” di Edge è comune anche agli altri browser?

    Ecco, il virgolettato ci sta proprio bene. Tu la chiami problematica, Microsoft la chiama scelta. Perché il nuovo Outlook non supporta più l'automazione COM? Eh… scelta tecnica di Microsoft. I browser ormai “sono così”, almeno i 3 principali che girano su Windows: Edge, Chrome e Firefox (che nel mio caso andrebbe per primo ma tant'è… ). Li si comanda con Selenium.

    Se hai Access365 (come pure il tuo amico) dovresti farcela anche con il nuovo controllo WebView2 e javascript, senza passare da Selenium ma funziona in modo totalmente diverso da Internet Explorer.

  • Re: Invio messaggio da Access a WhatsApp

    Grazie delle delucidazioni Phil.

  • Re: Invio messaggio da Access a WhatsApp

    “ONCE UPON A TIME”… fino a diversi anni fa, chi sviluppava con VB6 o VBA, usava un OCX Nativo di Win e distribuito con l'installazione di VB6 che si chiamava WinSock, era utilissimo in quanto potevi svilupparti il tuo bel Client di posta.

    Poi non lo hanno più distribuito, e li iniziarono i problemi, io mi ero sviluppato una classe API dedicata, purtroppo il limite di Access(VBA) a non gestire i MultiThread erano un po un collo di bottiglia.

    Quindi molti sviluppatori si sono appoggiati a questo bel SW flessibile e sempre funzionante, indipendente da qualsiasi Client residente: 

    http://www.blat.net/194/

    http://www.blat.net/newdocs/MSAccess_class.html

    Il progetto è OpenSource, si trova il codice sorgente per assicurarsi sia “buono”

  • Re: Invio messaggio da Access a WhatsApp

    Blat e' sicuramente uno tra i piu' conosciuti sistemi per l'invio email da riga comando

    Usavo anch'io Blat per spedire email senza preoccuparmi del client locale eventualmente installato

    E pure anche senza nessun client email locale

    Poi mi sono scontrato con un server smtp che richiedeva un'impostazione che non sono riuscito ad ottenere con Blat

    Non ricordo bene perche' e' successo un paio d'anni orsono, ma credo qualcosa legato al tipo di autenticazione utente o agli allegati

    Cerca cerca ho scovato un simil-Blat che consentiva anche l'impostazione della funzionalita' richiesta, si tratta di SwithMail

    Oltre a consentire l'impostazione dell'email in tutte le sue caratteristiche dispone anche di un'interfaccia grafica molto utile per gli invii preliminari di test e per capire come impostare la riga di testo contenente i comandi da inviare

  • Re: Invio messaggio da Access a WhatsApp

    15/10/2024 - amorosik ha scritto:


    Blat e' sicuramente uno tra i piu' conosciuti sistemi per l'invio email da riga comando

    ….

    Cerca cerca ho scovato un simil-Blat che consentiva anche l'impostazione della funzionalita' richiesta, si tratta di SwithMail

    Si tratta di SwithMail che oltre a consentire l'impostazione dell'email in tutte le sue caratteristiche dispone anche di un'interfaccia grafica molto utile per gli invii preliminari di test e per capire come impostare la riga di testo contenente i comandi da inviare

    Ottima informazione, anche questo come vedo è sempre usabile tramite SHELL o SHELLEXECUTE…

    Grazie

  • Re: Invio messaggio da Access a WhatsApp

    Ma quindi,  spedire un messaggio su whatsapp da codice  Vba, alla fine s'e' capito come farlo?

    Magari evitando di confermare a manina la richiesta d'invio

Devi accedere o registrarti per scrivere nel forum
8 risposte