é possibile inviare email tramite codice VBA

codice:
Set OutApp = CreateObject("Outlook.Application")

Set OutMail = OutApp.CreateItem(0)
With OutMail

indirizzi email
.SentOnBehalfOfName = "xxx@xxx.xxx" account mittente FROM, se diverso da quello di default impostato
.to = "xxx@xxx.xxx" indrizzo email destinatario TO
.CC = "xxx@xxx.xxx" indrizzo email copia CC
.BCC = "xxx@xxx.xxx" indrizzo email copia nascosta BCC

attento
se l'indirizzo email viene estratto da una cella metti sempre .Text alla fine per essere sicuro sia un testo
.to = Sheets("Scheda").Range("A1").Text


oggetto
.Subject = "oggetto"

testo
.Body = "Testo email" & Chr(10) & "testo a capo" corpo dell'email in formato testo
.HTMLBody = "<html><body>testo e tag email</body></html>" corpo dell'email in formato HTML

allegati
.Attachments.Add ("C:\file.txt") inserire il percorso ed il nome del file da allegare 01
.Attachments.Add ("C:\file.txt") inserire il percorso ed il nome del file da allegare 02

priorità
.Importance =
  • 0 bassa
  • 1 normale
  • 2 alta

ricevute lettura e ricezione
.ReadReceiptRequested = True / False inserisce o meno la ricevuta di lettura
.OriginatorDeliveryReportRequested = True / False inserisce o meno la ricevuta di consegna


DA METTERE PER ULTIMO
decidere se inviare direttamente o visualizzarle prima dell'invio
.Send per inviare subito la mail
.Display per aprire e controllare la mail prima di inviarla manualmente

End With
Set OutMail = Nothing
Set OutApp = Nothing



ciclo automatico invio email
attento:
per creare cicli automatici per invio massivo di email da un lista di indiizzi in una colonna
devi mettere i comandi del ciclo al di fuori dei comandi dell'oggetto

For x = 1 to ...

Set OutApp = CreateObject("Outlook.Application") deve stare dentro il ciclo

... comandi email

Set OutApp = Nothing

Next x