Outlook VBA

Abbiamo visto VBA in Excel e come automatizziamo le nostre attività in Excel con la creazione di macro, in Microsoft Outlook abbiamo anche un riferimento per VBA e utilizzando il quale possiamo controllare Outlook utilizzando VBA, questo rende le nostre attività ripetute in Outlook più facili da automatizzare e simile a Excel, dobbiamo abilitare la funzione sviluppatore per utilizzare VBA in Outlook.

Outlook VBA

La bellezza di VBA è che possiamo fare riferimento ad altri oggetti Microsoft come PowerPoint, Word e Outlook. Possiamo creare bellissime presentazioni, possiamo lavorare con documenti Microsoft Word e, infine, possiamo anche inviare le e-mail. Sì, hai sentito bene, possiamo inviare e-mail dallo stesso Excel. Questo suona imbarazzante ma allo stesso tempo ci fa sorridere. In questo articolo, ti mostrerò come lavorare con l'oggetto Microsoft Outlook da Excel utilizzando la codifica VBA. Continuare a leggere…

Come facciamo riferimento a Outlook da Excel?

Ricorda che Outlook è un oggetto e dobbiamo impostare il riferimento a questo nella libreria di riferimento dell'oggetto. Per impostare l'oggetto Outlook a cui fare riferimento, seguire i passaggi seguenti.

Passaggio 1: vai a Visual Basic Editor.

Passaggio 2: vai su Strumenti> Riferimento.

Passaggio 3: nella libreria degli oggetti dei riferimenti di seguito, scorrere verso il basso e selezionare "MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY".

Selezionare la casella di "MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY" per renderlo disponibile per Excel VBA.

Ora possiamo accedere all'oggetto VBA Outlook da Excel.

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

Possiamo inviare le e-mail da Excel tramite l'app Outlook. Per questo, dobbiamo scrivere codici VBA. Segui i passaggi seguenti per inviare le e-mail da Outlook.

Puoi scaricare questo modello VBA da Outlook a Excel qui - Modello VBA da Outlook a Excel

Passaggio 1: creare una procedura secondaria.

Codice:

 Opzione Explicit Sub Send_Exails () End Sub 

Passaggio 2: definire la variabile come VBA Outlook.Application .

Codice:

 Opzione Explicit Sub Send_Exails () Dim OutlookApp As Outlook.Application End Sub 

Passaggio 3: il riferimento alla variabile precedente all'applicazione VBA Outlook. In Outlook, dobbiamo inviare e-mail, quindi definisci un'altra variabile come Outlook.MailItem.

Codice:

 Opzione Explicit Sub Send_Exails () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem End Sub 

Passaggio 4: ora entrambe le variabili sono variabili oggetto. Dobbiamo impostarli. Per prima cosa imposta la variabile "OutlookApp" come Nuovo Outlook.Application .

Codice:

 Sub Send_Exails () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = Nuovo Outlook.Application End Sub 

Passaggio 5: ora impostare la seconda variabile "OutlookMail" come di seguito.

Imposta OutlookMail = OutlookApp.CreateItem (olMailItem)

Codice:

 Sub Send_Exails () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = Nuovo Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) End Sub 

Passaggio 6: ora utilizzando con accesso all'istruzione VBA Outlook Mail.

Codice:

 Sub Send_Exails () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = Nuovo Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Con OutlookMail End With End Sub 

Ora possiamo accedere a tutti gli elementi disponibili con elementi di posta elettronica come "Corpo dell'email", "A", "CC", "BCC", "Oggetto" e molte altre cose.

Passaggio 7: ora all'interno dell'istruzione con possiamo vedere l'elenco IntelliSense inserendo un punto .

Passaggio 8: selezionare prima il formato del corpo come olFormatHtml .

Codice:

 Con OutlookMail .BodyFormat = olFormatHTML Termina con 

Passaggio 9: ora visualizza l'email.

Codice:

 Con OutlookMail .BodyFormat = olFormatHTML .Display End With 

Passaggio 10: ora dobbiamo scrivere l'email nel corpo dell'email. Per questo seleziona HtmlBody .

Codice:

 Con OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Scrivi qui la tua email" Termina con 

Di seguito è riportato l'esempio del corpo della scrittura dell'email.

Passaggio 11: dopo aver scritto l'e-mail, dobbiamo menzionare l'ID e-mail del destinatario. Per questo accesso " A ".

Passaggio 12: successiva menzione per chi desideri inviare l'email in CC .

Passaggio 13: ora menziona gli ID email BCC ,

Passaggio 14: la prossima cosa è che dobbiamo menzionare l' oggetto dell'email che stiamo inviando.

Passaggio 15: ora aggiungi gli allegati. Se si desidera inviare la cartella di lavoro corrente come allegato, utilizzare l' allegato come Questa cartella di lavoro

Passaggio 16: inviare infine l'email utilizzando il metodo Invia .

Ora, questo codice invierà l'e-mail dalla posta di Outlook VBA. Usa il codice VBA sottostante per inviare e-mail da Outlook.

Per utilizzare il codice seguente è necessario impostare il riferimento all'oggetto su "MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY " nella libreria di oggetti di Excel VBA

By setting the reference to the object library is called early binding. The reason why we need to set the reference to object library because without setting the object library as “MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY” We cannot access the IntelliSense list of VBA properties and methods. This makes the writing of code difficult because you need to be sure of what you are writing in terms of technique and spellings.

 Sub Send_Emails() 'This code is early binding i.e in Tools > Reference >You have check "MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY" Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem(olMailItem) With OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Dear ABC" & "

" & "

" & "Please find the attached file" & .HTMLBody 'last .HTMLBody includes signature from the outlook. ''

includes line breaks b/w two lines .To = "[email protected]" .CC = "[email protected]" .BCC = "[email protected];[email protected]" .Subject = "Test mail" .Attachments = ThisWorkbook .Send End With End Sub