Come inviare messaggi Whatsapp da Excel con VBA!

3.9
(23)

Ci sono mille ragioni per cui potrebbe tornarvi utile inviare messaggi da Excel.
Vediamo come ralizzare velocemente un foglio che ci permetta di inviare messaggi a più numeri di telefono; la condizione perchè il tutto funzioni corretamente è che i numeri siano presenti nella rubrica del vostro cellulare.

Vi consiglio di scaricarlo e provarlo! Il codice vba utilizzato per realizzare il file quà sopra è il seguente:

Private Sub CommandButton1_Click()

‘ Pulisci notifiche
Range(“c4:c1000”).Select
Selection.ClearContents
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub

Private Sub CommandButton2_Click()

‘ Pulisci messaggio personalizzato
Range(“d4:d1000”).Select
Selection.ClearContents
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub

Private Sub CommandButton3_Click()
‘ Pulisci data invio
Range(“e4:e1000”).Select
Selection.ClearContents
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub

Private Sub Invia_per_numero_Click()
Dim RowCnt As Integer
Dim contatti As String
Dim testo As String
Dim cellulare As String
Dim promemoria_data As Date, data_di_invio As Date, presunta_spedizione As String
Dim BeginRow As Integer, LastRow As Integer

‘ Individua l’ultima riga con il numero di cellulare
With ActiveSheet
LastRow = .Cells(.Rows.Count, “B”).End(xlUp).Row
End With
BeginRow = 4

ActiveWorkbook.FollowHyperlink Address:=”https://web.whatsapp.com/”
Application.Wait (Now + TimeValue(“00:00:10”))

‘ Scorri la tabella e invia messaggi

For RowCnt = BeginRow To LastRow

‘Prima controlla che ci sia un numero di cellulare nella cella. Se è vuoto salta alla riga successiva
If IsEmpty(ActiveSheet.Cells(RowCnt, 2)) = False Then
cellulare = ActiveSheet.Cells(RowCnt, 2).Value

promemoria_data = ActiveSheet.Cells(RowCnt, 3).Value
presunta_spedizione = ActiveSheet.Cells(RowCnt, 5).Value ‘verifica cosa contiene la data di “spedizione”

‘ Verifica che il promemoria non sia stato ancora inviato (la cella “sent_date” contiene una data
If IsEmpty(ActiveSheet.Cells(RowCnt, 5)) Or IsDate(presunta_spedizione) = False Then
‘ Devi controllare che per data devi inviare il promemoria e registrare la data di spedizione
If promemoria_data <= Date Then
Call SendKeys(“{TAB}{TAB}{TAB}{TAB}”, True) ‘Posiziona il cursore nel campo “cerca”
Application.Wait (Now + TimeValue(“00:00:02”))
Call SendKeys(cellulare, True)
Call SendKeys(“~”, True)
Application.Wait (Now + TimeValue(“00:00:05”))
testo = ActiveSheet.Cells(RowCnt, 4).Value
Call SendKeys(testo, True)
Application.Wait (Now + TimeValue(“00:00:2”))
Call SendKeys(“~”, True)
ActiveSheet.Cells(RowCnt, 5).Value = Date ‘registra la data di spedizione
Call SendKeys(“{TAB}{TAB}{TAB}{TAB}”, True) ‘Posiziona il cursore nel campo “cerca”
Application.Wait (Now + TimeValue(“00:00:03”))
End If

End If
End If
Next RowCnt

End Sub

Private Sub Invia_messaggio_Click()
Dim RowCnt As Integer
Dim contatti As String
Dim testo As String
Dim cellulare As String
Dim promemoria_data As Date, data_di_invio As Date, presunta_spedizione As String
Dim BeginRow As Integer, LastRow As Integer

With ActiveSheet
LastRow = .Cells(.Rows.Count, “A”).End(xlUp).Row
End With
BeginRow = 4

ActiveWorkbook.FollowHyperlink Address:=”https://web.whatsapp.com/”
Application.Wait (Now + TimeValue(“00:00:10”))

‘ Scorri la tabella e invia messaggi

For RowCnt = BeginRow To LastRow

‘ Prima controlla che ci sia un nome nella cella. Se è vuoto salta alla riga successiva
If IsEmpty(ActiveSheet.Cells(RowCnt, 1)) = False Then
contatti = ActiveSheet.Cells(RowCnt, 1).Value
promemoria_data = ActiveSheet.Cells(RowCnt, 3).Value
presunta_spedizione = ActiveSheet.Cells(RowCnt, 5).Value ‘cosa contiene la data di “spedizione”

‘ Verifica che il promemoria non sia stato ancora inviato (la cella “sent_date” contiene una data)
If IsEmpty(ActiveSheet.Cells(RowCnt, 5)) Or IsDate(presunta_spedizione) = False Then
‘ Devi controllare che per data devi inviare il promemoria e registrare la data di spedizione
If promemoria_data <= Date Then
Call SendKeys(“{TAB}{TAB}{TAB}{TAB}”, True) ‘Posiziona il cursore nel campo “cerca”
Application.Wait (Now + TimeValue(“00:00:02”))
Call SendKeys(contatti, True)
Call SendKeys(“~”, True)
Application.Wait (Now + TimeValue(“00:00:02”))
testo = ActiveSheet.Cells(RowCnt, 4).Value
Call SendKeys(testo, True)
Application.Wait (Now + TimeValue(“00:00:2”))
Call SendKeys(“~”, True)
ActiveSheet.Cells(RowCnt, 5).Value = Date ‘registra la data di spedizione
Call SendKeys(“{TAB}{TAB}{TAB}{TAB}”, True) ‘Posiziona il cursore nel campo “cerca”
Application.Wait (Now + TimeValue(“00:00:03”))
End If

End If
End If
Next RowCnt

End Sub


Se avete domande lasciate un commento vi risponderò il prima possibile!!

Quanto ti è piaciuto questo post?

Clicca sulle stelle e vota

Valutazione media 3.9 / 5. Conto voti: 23

Nessun voto per ora ! Sarai il primo a votare questo post.