Excel VBA Outlook Function

Lavoriamo su molti e molti file Excel su base giornaliera e inviamo a molti utenti su base giornaliera. Scriviamo lo stesso messaggio nell'e-mail ogni giorno e inviamo quel file Excel. Questo ci dà la portata dell'automazione di questo compito. Hai sentito bene. Questa attività di scrittura di un'e-mail e di invio del file può essere automatizzata con l'aiuto di VBA. Il motivo è che VBA può utilizzare un riferimento con diversi oggetti Microsoft come Outlook, Word, PowerPoint, Paint, ecc.

Quindi possiamo inviare l'e-mail con l'aiuto di VBA. Ora sono sicuro che sarete tutti entusiasti di sapere come possiamo inviare un'e-mail con l'aiuto di VBA.

Impareremo in questo articolo su come utilizzare Outlook come oggetto Microsoft da Excel utilizzando la codifica VBA e come possiamo inviare un'e-mail con un allegato con l'aiuto di VBA.

Come utilizzare la funzione Outlook VBA di Excel?

Per utilizzare la funzione VBA Outlook, dobbiamo fare due cose.

Puoi scaricare questo modello Excel Outlook VBA qui - Modello Excel Outlook VBA
  1. Riferimento all'oggetto Microsoft Outlook dalla libreria di oggetti in VBA.
  2. Scrivi il codice VBA per inviare e-mail nel modulo VBA.

# 1 - Riferimento di Outlook da Excel

Come sapete, Outlook è un oggetto e dobbiamo fornire un riferimento all'oggetto Outlook. Quindi esiste una libreria di riferimento agli oggetti in VBA che dobbiamo usare come riferimento.

Seguire i passaggi seguenti per utilizzare la libreria di riferimento agli oggetti.

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

Passaggio 2: vai su Strumenti e seleziona Riferimenti come mostrato nell'immagine seguente.

Passaggio 3: scorrere verso il basso nella libreria degli oggetti di riferimento e selezionare "Libreria oggetti di Microsoft Outlook 16.0" per renderlo disponibile per Excel VBA.

A seconda dell'ufficio Microsoft, la versione di Outlook potrebbe essere diversa. Nel nostro caso, è 16.0. È possibile utilizzare la " Libreria oggetti di Microsoft Outlook 14.0" se questa è la versione visualizzata sul computer.

Seleziona la casella di Microsoft Outlook come mostrato nello screenshot sopra. Ora possiamo usare l'oggetto Microsoft Outlook in VBA di Excel.

Questo processo di impostazione del riferimento a "MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY" è noto come Early Binding. Senza impostare la libreria di oggetti come "MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY" non è possibile utilizzare le proprietà e i metodi IntelliSense di VBA che rendono difficile la scrittura del codice.

# 2 - Scrivi un codice per inviare e-mail da Outlook VBA da Excel

Seguire i passaggi seguenti per scrivere il codice VBA per inviare e-mail da Outlook da Excel.

Passaggio 1: creare una procedura secondaria nominando la macro. Chiameremo la macro come "send_email" come mostrato nello screenshot qui sotto.

Codice:

 Opzione Sub esplicita Send_email () End Sub 

Passaggio 2: definire la variabile come Outlook. Applicazione come mostrato nello screenshot qui sotto. Questo è il riferimento all'applicazione Outlook VBA.

Codice:

 Opzione Sub esplicita Send_email () Dim OutlookApp As Outlook.Application End Sub 

Passaggio 3: è necessario inviare un'e-mail in Outlook, quindi definire un'altra variabile come " Outlook.Mailitem " come mostrato nello screenshot seguente.

Codice:

 Opzione Sub esplicita Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem End Sub 

Passaggio 4: Nei passaggi precedenti abbiamo definito la variabile ora dobbiamo impostarle.

Ora imposta la prima variabile "Applicazione Outlook" come "Nuova Outlook.Applicazione" come mostrato nello screenshot qui sotto.

Codice:

 Opzione Sub esplicita Send_email () Dim OutlookApp come Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application End Sub 

Passaggio 5: ora imposta la seconda variabile "Posta di Outlook" con il codice seguente.

Codice:

 Opzione Sub esplicita Send_email () Dim OutlookApp come Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) End Sub 

Passaggio 6: ora possiamo utilizzare Outlook VBA utilizzando l'istruzione " With " come mostrato nell'immagine seguente.

Codice:

 Opzione Sub esplicita Send_email () Dim OutlookApp come Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) con OutlookMail End Sub 

Ora abbiamo tutto l'accesso agli elementi e-mail come "A", "CC", "CCG", "oggetto", "Corpo dell'e-mail" e molti altri elementi.

Passaggio 7: All'interno dell'istruzione "With", è possibile visualizzare un elenco inserendo un punto noto come "Elenco Intellisense".

Passaggio 8: selezionare innanzitutto il formato del corpo come olFormatHtml come mostrato nell'immagine seguente.

Codice:

 Con OutlookMail .BodyFormat = olFormatHTML End Sub 

Passaggio 9: selezionare " .Display " per visualizzare la posta come mostrato nello screenshot seguente.

Codice:

 Con OutlookMail .BodyFormat = olFormatHTML .Display End Sub 

Passaggio 10: selezionare " .HTMLbody " per scrivere l'e-mail come mostrato nella schermata seguente.

Codice:

 Con OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "scrivi qui la tua email" End Sub 

Dobbiamo ricordare alcune cose mentre scriviamo l'e-mail nel codice VBA.


"Viene utilizzato per includere la interruzione di riga tra due righe. Per aggiungere la firma nell'e-mail, devi inserire "& .HTMLbody"

Vedi l'esempio seguente su come scrivere la posta in VBA.

Codice:

 Con OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Dear ABC" & "
"&" Trova il file allegato "& .HTMLBody End Sub

Passaggio 11: ora è necessario aggiungere il destinatario dell'e-mail. Per questo, è necessario utilizzare ".To".

Codice:

 .To = " " 

Passaggio 12: Se si desidera aggiungere qualcuno in "CC" e "BCC", è possibile utilizzare ".CC" e ".BCC" come mostrato nell'immagine seguente.

Codice:

 .CC = " " .BCC = " " 

Passaggio 13: per aggiungere un oggetto per l'e-mail che stiamo inviando, possiamo usare ". Oggetto " come mostrato nell'immagine seguente.

Codice:

 .Subject = "TEST MAIL" 

Passaggio 14: possiamo aggiungere la nostra cartella di lavoro corrente come allegato nell'e-mail con l'aiuto della proprietà ".Attachment". Per fare ciò, dichiarare prima una variabile Source come stringa.

Codice:

 Dim source_file As String 

Quindi utilizzare il seguente codice per allegare il file nell'e-mail.

Codice:

 source_file = ThisWorkbook.FullName .Attachments.Add source_file 

Qui questo manuale è utilizzato per la cartella di lavoro corrente e. FullName viene utilizzato per ottenere il nome completo del foglio di lavoro.

Passo 15: Ora l'ultimo codice è quello di inviare finalmente l'e-mail per la quale possiamo usare " .send ". Assicurati di chiudere la procedura With e Sub con “End with” e “End Sub” come mostrato nello screenshot qui sotto.

Quindi il codice è finalmente pronto per inviare un'e-mail. Dobbiamo solo eseguire la macro ora.

Passaggio 16: eseguire il codice premendo F5 o il pulsante Esegui e vedere l'output.

Codice completo finale

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

Codice:

 Opzione Sottomissione esplicita Send_email () Dim OutlookApp as Outlook.Application Dim OutlookMail As Outlook.MailItem Dim source_file As String Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) With OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = Caro ABC "&"
"&" Trova il file allegato "& .HTMLBody .To =" ".CC =" ".BCC =" ".Subject =" TEST MAIL "source_file = ThisWorkbook. FullName .Attachments.Add source_file .Invia End With End Sub

Esempio di funzione VBA Outlook

Supponiamo che ci sia un Team Leader e che desideri inviare un'e-mail giornaliera per il follow-up dell'attività di ciascun membro. L'email sarà così.

" Ciao squadra,

Ti chiedo gentilmente di condividere le tue azioni su ciascuno dei tuoi elementi di follow-up entro le 11 di oggi.

Grazie e saluti,

Sconosciuto

Seguire i passaggi sopra menzionati per fare riferimento a Microsoft Object e scrivere la codifica VBA oppure è possibile modificare il codice di conseguenza.

Quindi, con tutto il codice che rimane lo stesso, dobbiamo cambiare alcune cose nel codice, ad esempio l'ID e-mail del destinatario, l'oggetto, il corpo dell'email e non vi sarà alcun allegato nell'e-mail.

Di seguito è riportato il codice modificato che stiamo utilizzando per scrivere questa email.

Codice:

 Sub Send_teamemail () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Imposta OutlookApp = New Outlook.Application Imposta OutlookMail = OutlookApp.CreateItem (olMailItem) Con OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Ciao team" & "
"&"
"&" Richiedi di condividere gentilmente le tue azioni su ciascuno dei tuoi elementi di follow-up entro le 20:00 di oggi. "& .HTMLBody .To =" ; ; ".Subject =" Team Follow Up ". Invia End With End Sub

Dopo aver eseguito la macro, vedrai che la posta è stata inviata automaticamente dalla tua prospettiva.

Cose da ricordare

  • Innanzitutto, assicurati di aver installato Microsoft Outlook sul tuo computer e di avere effettuato l'accesso al tuo account.
  • Assicurarsi che la casella per Microsoft Outlook nel riferimento Libreria oggetti sia sempre selezionata. Il codice non verrà eseguito e genererà un errore se non viene verificato.
  • Definire le variabili e impostare le variabili è molto importante nella codifica VBA. Senza variabili, un codice non funzionerà.
  • Assicurati che se desideri aggiungere la firma nella posta, prima dovresti avere almeno una firma già creata in Outlook.
  • Usa sempre "
    "Per inserire spazi vuoti nella posta.

Articoli consigliati

Questa è una guida a VBA Outlook. Qui discutiamo come inviare e-mail da Outlook utilizzando codici VBA in Excel insieme a un esempio e un modello Excel scaricabile. Di seguito sono riportati alcuni utili articoli di Excel relativi a VBA -

  1. Che cos'è l'errore di overflow del VBA?
  2. Personalizza la barra degli strumenti di accesso rapido in Excel
  3. Esempi di intervallo denominato VBA
  4. Come inviare e-mail da Excel VBA
  5. Come utilizzare l'opzione esplicita in VBA?

Categoria: