VBA Outlook

Vimos o VBA no Excel e como automatizamos nossas tarefas no Excel com a criação de macros, no Microsoft Outlook também temos uma referência para VBA e com a qual podemos controlar o Outlook usando o VBA. Isso torna nossas tarefas repetidas no Outlook mais fáceis de automatizar e semelhante ao Excel, precisamos habilitar o recurso do desenvolvedor para usar o VBA no Outlook.

VBA Outlook

A beleza do VBA é que podemos fazer referência a outros objetos da Microsoft, como PowerPoint, Word e Outlook. Podemos criar belas apresentações, podemos trabalhar com documentos do Microsoft Word e, finalmente, podemos enviar os e-mails também. Sim, você ouviu direito, podemos enviar e-mails do próprio excel. Isso parece estranho, mas ao mesmo tempo coloca um sorriso em nosso rosto também. Neste artigo, vou mostrar como trabalhar com o objeto do Microsoft Outlook do Excel usando a codificação VBA. Leia…

Como referenciamos o Outlook no Excel?

Lembre-se de que o Outlook é um objeto e precisamos definir a referência a ele na biblioteca de referência de objeto. Para definir o objeto do Outlook para referência, siga as etapas abaixo.

Etapa 1: Vá para o Editor do Visual Basic.

Etapa 2: Vá para Ferramentas> Referência.

Etapa 3: Na biblioteca de objetos de referências abaixo, role para baixo e selecione “MICROSOFT OUTLOOK 14.0 OBJECT BIBRARY”.

Marque a caixa “MICROSOFT OUTLOOK 14.0 OBJECT BIBRARY” para torná-la disponível para Excel VBA.

Agora podemos acessar o objeto Outlook do VBA no Excel.

Escreva um código para enviar e-mails do VBA Outlook do Excel

Podemos enviar os e-mails do Excel através do aplicativo Outlook. Para isso, precisamos escrever códigos VBA. Siga as etapas abaixo para enviar os e-mails do Outlook.

Você pode baixar este modelo VBA Outlook para Excel aqui - Modelo VBA Outlook para Excel

Etapa 1: crie um subprocedimento.

Código:

 Option Explicit Sub Send_Exails () End Sub 

Etapa 2: Defina a variável como VBA Outlook.Application .

Código:

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

Etapa 3: A variável acima faz referência ao aplicativo VBA Outlook. No outlook, precisamos enviar e-mails, então defina outra variável como Outlook.MailItem.

Código:

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

Etapa 4: agora ambas as variáveis ​​são variáveis ​​de objeto. Precisamos defini-los. Primeiro defina a variável “OutlookApp” como Novo Outlook.Application .

Código:

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

Passo 5: Agora defina a segunda variável “OutlookMail” conforme abaixo.

Definir OutlookMail = OutlookApp.CreateItem (olMailItem)

Código:

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

Etapa 6: Agora, usando com acesso à instrução VBA Outlook Mail.

Código:

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

Agora podemos acessar todos os itens disponíveis com itens de e-mail como “Corpo do e-mail”, “Para”, “CC”, “BCC”, “Assunto” e muito mais.

Etapa 7: agora dentro de com a instrução, podemos ver a lista do IntelliSense colocando um ponto .

Etapa 8: primeiro selecione o formato do corpo como olFormatHtml .

Código:

 Com OutlookMail .BodyFormat = olFormatHTML End With 

Etapa 9: Agora exiba o e-mail.

Código:

 Com OutlookMail .BodyFormat = olFormatHTML .Display End With 

Etapa 10: Agora precisamos escrever o e-mail no corpo do e-mail. Para isso, selecione HtmlBody .

Código:

 Com OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Escreva seu e-mail aqui" Fim com 

Abaixo está o exemplo do corpo da redação do e-mail.

Etapa 11: Depois de escrever o e-mail, precisamos mencionar o id do e-mail do destinatário. Para este acesso “ Para ”.

Etapa 12: próxima menção para quem você deseja copiar o e-mail.

Step 13: Now mention the BCC email id’s,

Step 14: Next thing is we need to mention the subject for the email we are sending.

Step 15: Now add attachments. If you want to send the current workbook as an attachment then use the attachment as This workbook

Step 16: Finally send the email by using the Send method.

Now, this code will send the email from your VBA outlook mail. Use the below VBA code to send emails from your outlook.

To use the below code you must set the object reference to “MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY” under object library of 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