Ciao a tutti,
sono alle prime armi con VBA, mi sono iscritto da poco e mi sono imbattuto per caso in questa discussione.
Ho adattato la porzione di codice di un piccolo progetto a cui sto lavorando, essendo il mio primo post non mi consente di inserire un allegato, che potete trovare qui
http://www.cjoint.com/c/GFAqB3XKoEj.
(Testato con Excel 2013 e 2016 e Thunderbird 52.2.0, di seguito il codice della macro:
Sub MailThunderbird()
Dim InviaMail, Destinatario, Oggetto, Corpo, Dati As String
LastRow = Range("A" & Rows.Count).End(xlUp).Row
For Each cell In Range("A2:A" & LastRow)
If Cells(cell.Row, 5) = "30" Then
Destinatario = Cells(cell.Row, 3)
Oggetto = Cells(cell.Row, 2)
Corpo = "Si ricorda che è in scadenza il documento in oggetto.%0a%0aCordiali saluti.%0a%0aUfficio Amministrazione" 'I caratteri %0a%0a indicano l’interruzione di linea
InviaMail = "C:\Program Files\Mozilla Thunderbird\thunderbird.exe" 'Adatta il percorso a seconda della versione e del sistema operativo in uso
Dati = " -compose " & "to=" & Destinatario & "," & "subject=" & Oggetto & "," & "body=" & Corpo
Shell InviaMail & Dati, vbNormalFocus
Application.Wait (Now + TimeValue("0:00:03"))
SendKeys "^{ENTER}", True 'Invio automatico
End If
Next cell
End Sub
N.B.
Occorre eventualmente modificare il percorso ed il nome del file che varia secondo il sistema operativo.
Per eseguire l'invio automatico bisogna deselezionare nelle opzioni di TB (menu Strumenti -> Opzioni -> Composizione) la casella "Chiedi conferma quando si utilizza una scorciatoia da tastiera per inviare il messaggio". Se si preferisce che anziché inviare automaticamente i messaggi gli stessi vengano inseriti nella cartella Posta in uscita per potere fare eventuali controlli o aggiungere testo, sostituire il comando
SendKeys "^{ENTER}", True con
SendKeys "^+{ENTER}", True