Per far compilare una mail ad Excel (in questo caso senza inviarla automaticamente) basta inserire il seguente codice nell’editor Visual Basic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Sub preparaMail() Dim destinatario, conoscenza, oggetto, corpo As String Dim outApp As Object Dim outEmail As Object destinatario = "destinatario@mail.it" conoscenza = "conoscenza@mail.it" oggetto = "Inviare eMail con Excel VBA" corpo = "Ciao, questo messaggio è stato creato con Excel VBA" 'creo l'oggetto eMail Set outApp = CreateObject("Outlook.Application") Set outEmail = outApp.CreateItem(0) On Error Resume Next 'imposto l'oggetto email e lo mostro With outEmail .To = destinatario .cc = conoscenza .Subject = oggetto .HTMLBody = corpo .Display End With On Error GoTo 0 Set outApp = Nothing Set outEmail = Nothing End Sub |
Per semplicità si consiglia di assegnare la macro appena creata ad una forma come nella figura in basso. Una volta fatto click ed avviata la macro Excel si occuperà di aprire Outlook, creare un nuovo messaggio e compilarlo.

Non inviando direttamente il messaggio di posta si ha l’occasione di rileggerlo, ed in caso rettificarlo, nell’ipotesi in cui i vari campi (destinatario, oggetto, ecc) vengano popolati da valori presenti nel foglio.