VBA Invia email da Excel

VBA non si limita ai soli dati in Excel. Possiamo inviare e-mail tramite VBA e questo è ciò che impareremo in questo articolo. Richiede una notevole conoscenza di VBA e dei suoi metodi per scrivere il codice per inviare e-mail da Excel. Prima di passare a scrivere e inviare e-mail da Excel, fateci sapere cosa significa questa automazione. Questo tipo di automazione significa accedere a una funzionalità di un'altra applicazione utilizzando qualsiasi altra applicazione. Ora la funzione di mailing è offerta da Microsoft in Outlook, useremo metodi e proprietà di Outlook in Excel per inviare e-mail. Per inviare un'e-mail è necessario conoscere anche la base dell'e-mail. In parole povere, qual è il processo e quali sono i requisiti per inviare un'e-mail? Un'e-mail è composta da un indirizzo e-mail del mittente se è presente un CC (copia carbone) o un BCC e una riga dell'oggetto con un corpo e-mail.

Come inviare e-mail da Excel VBA?

Impariamo come inviare e-mail tramite Outlook da Excel in VBA con un esempio. In questo esempio, invieremo anche un allegato al destinatario, lo stesso file Excel in cui scriveremo il codice.

Puoi scaricare questo VBA Invia modello Excel per email qui - VBA Invia modello Excel per email

Seguire i passaggi seguenti per inviare e-mail da Excel utilizzando il codice VBA:

Passaggio 1: nella scheda Sviluppatore fare clic su Visual Basic per aprire l'editor VB.

Prima di passare alla scrittura di codici per inviare un'e-mail, dobbiamo sapere che Outlook è un oggetto esterno e che dobbiamo fare riferimento nel VBA.

Passaggio 2: vai su Strumenti, quindi seleziona Riferimenti.

Passaggio 3: facendo clic sul riferimento si aprirà una finestra della procedura guidata, verrà individuato un riferimento per la libreria di oggetti di Microsoft Outlook e verificata, quindi fare clic su OK.

Passaggio 4: fare clic sulla scheda Inserisci e inserire un modulo nel progetto VBA.

Passaggio 5: definire una sottoprocedura come mostrato di seguito.

Codice:

 Sub EmailExample () End Sub 

Passaggio 6: Facendo riferimento alle prospettive di cui sopra, ora possiamo accedere alle proprietà di Outlook in VBA. Ora dichiariamo una variabile come un'applicazione di Outlook.

Codice:

 Dim Email come Outlook.Application 

Passaggio 7: Come FSO, questa variabile è una variabile oggetto, quindi per accedere a qualsiasi altra applicazione è necessario creare alcune istanze, creare un'istanza come mostrato di seguito utilizzando la parola chiave SET.

Codice:

 Imposta Email = New Outlook.Application 

Passaggio 8: poiché vogliamo inviare un allegato al destinatario, dobbiamo dichiarare una variabile come String che conterrà il percorso dell'allegato.

Codice:

 Dim Sr As String 

Passaggio 9: Ora cominciamo con la parte di invio di messaggi in questo codice, per inviare un'e-mail dobbiamo definire un'altra variabile che utilizzerà la proprietà di Outlook per fare riferimento a una nuova e-mail come mostrato di seguito.

Codice:

 Dim newmail As Outlook.MailItem 

Passaggio 10: simile a quello precedente con l'utilizzo di un'altra applicazione nell'esempio che è necessario creare istanze, ora è necessario creare un'istanza per una nuova e-mail che aprirà la nuova e-mail utilizzando la parola chiave set.

Codice:

 Imposta newmail = Email.CreateItem (olMailItem) 

Prima di proseguire, lasciatemi spiegare i nostri progressi finora, la prima istanza aprirà prospettive per noi mentre la seconda istanza aprirà la nuova e-mail per noi.

Passaggio 11: Come ho spiegato sopra, qual è il requisito per inviare un'e-mail. Il primo requisito è un destinatario che è "A" in una e-mail. Quindi usiamo la proprietà To di Outlook in Excel come segue.

Codice:

 newmail.To = " " 

Passaggio 12: poiché abbiamo utilizzato la proprietà To, abbiamo un'altra funzionalità da utilizzare come Carbon Copy o la proprietà CC di Outlook.

Codice:

 newmail.CC = " " 

Allo stesso modo, possiamo usare la proprietà BCC.

Nota: la proprietà BCC viene utilizzata quando vogliamo nascondere l'indirizzo e-mail del ricevitore BCC agli altri ricevitori.

Qual è il prossimo passo nell'invio di un'e-mail?

Step 13: è soggetto. Quando scriviamo il nome dell'istanza con un operatore punto possiamo vedere l'opzione per un soggetto come segue.

Passaggio 14: premere Tab sull'oggetto IntelliSense e scrivere un argomento casuale come mostrato di seguito.

Codice:

 newmail.Subject = "Questa è un'e-mail automatizzata" 

Passaggio 15: Il passaggio successivo nella scrittura di un'e-mail è un corpo per l'e-mail. Come le proprietà, che abbiamo usato sopra con l'istanza, usiamo la proprietà body di Outlook per scrivere il corpo come segue.

Codice:

 newmail.HTMLBody = "Ciao" e vbNewLine & vbNewLine & "Questa è un'e-mail di prova da Excel" & _ vbNewLine & vbNewLine & _ "Saluti", & vbNewLine & _ "VBA Coder" 

Passaggio 16: ora abbiamo creato un'e-mail con un corpo e una riga dell'oggetto. Il prossimo passo è aggiungere un allegato all'email. Poiché desideriamo inviare il foglio di lavoro corrente al destinatario, utilizzeremo il percorso come segue,

Codice:

 Sr = ThisWorkbook.FullName 

Passo 17: Ora possiamo inviare l'allegato utilizzando la proprietà dell'allegato come mostrato di seguito.

Codice:

 newmail.Attachments.Add Sr 

Passo 18: ora finalmente dobbiamo inviare l'e-mail. Come in Outlook, premiamo il pulsante Invia per inviare un'e-mail, allo stesso modo, utilizzeremo le proprietà di invio di Outlook come segue.

Codice:

 newmail.Send 

Codice completo finale

Quindi di seguito è riportato il codice finale su come inviare un'e-mail da Excel con l'aiuto di VBA.

Codice:

 Sotto EmailExample () Dim Email come Outlook.Application Set Email = New Outlook.Application Dim Sr As String Dim newmail As Outlook.MailItem Imposta newmail = Email.CreateItem (olMailItem) newmail.To = " " newmail.CC = " " newmail.Subject = "Questa è un'e-mail automatizzata" newmail.HTMLBody = "Ciao", e vbNewLine & vbNewLine & "Questa è un'e-mail di prova da Excel" & _ vbNewLine & vbNewLine & _ "Saluti" & vbNewLine & _ "VBA Coder" Sr = ThisWorkbook.FullName newmail.Attachments.Add Sr newmail.Send End Sub 

Quando eseguiamo il codice sopra, dobbiamo attendere alcuni secondi per l'esecuzione del codice e possiamo controllare la casella inviata in prospettiva che l'e-mail sia stata inviata tramite Excel.

Cose da ricordare

  • Usiamo un'altra applicazione per inviare un'e-mail da Excel.
  • Per usare un'altra applicazione creiamo istanze.
  • Prima di utilizzare Outlook come un'altra applicazione, è necessario fare riferimento agli oggetti di Outlook dalla scheda di riferimento.
  • Abbiamo bisogno di conoscere i requisiti di una e-mail per inviare una e-mail.

Articoli consigliati

Questa è una guida a VBA Invia e-mail da Excel. Qui discutiamo come inviare e-mail con allegati da Excel utilizzando il codice VBA insieme a un esempio e un modello scaricabile di Excel. Di seguito sono riportati alcuni utili articoli di Excel relativi a VBA -

  1. Collegamento ipertestuale VBA con esempi
  2. Come utilizzare la funzione ANNO in Excel?
  3. Suggerimenti sull'utilizzo di VBA Outlook
  4. Tutorial sulla funzione Data di Excel

Categoria: