
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!!