Função Outlook VBA do Excel

Trabalhamos em lotes e lotes de arquivos do Excel diariamente e enviamos para muitos usuários diariamente. Escrevemos a mesma mensagem no e-mail diariamente e enviamos esse arquivo do Excel. Isso nos dá o escopo da automação desta tarefa. Você ouviu direito. Essa tarefa de escrever um email e enviar o arquivo pode ser automatizada com a ajuda do VBA. O motivo é que o VBA pode usar uma referência com diferentes objetos da Microsoft, como outlook, word, PowerPoint, paint, etc.

Para que possamos enviar o email com a ajuda do VBA. Agora tenho certeza que todos ficarão animados em saber como podemos enviar um email com a ajuda do VBA.

Aprenderemos neste artigo sobre como usar o Outlook como objeto Microsoft do Excel usando a codificação VBA e como podemos enviar um email incluindo um anexo com a ajuda do VBA.

Como usar a função Outlook VBA do Excel?

Para usar a função VBA Outlook, precisamos fazer duas coisas.

Você pode fazer o download deste modelo do VBA Outlook Excel aqui - Modelo do VBA Outlook Excel
  1. Consulte Objeto do Microsoft Outlook da Biblioteca de Objetos no VBA.
  2. Escreva o código VBA para enviar e-mails no módulo VBA.

# 1 - Referência do Outlook do Excel

Como você sabe, o Outlook é um objeto e precisamos fornecer uma referência ao objeto do Outlook. Portanto, há uma biblioteca de referência de objetos no VBA que precisamos usar como referência.

Siga as etapas abaixo para usar a Biblioteca de Referência de Objetos.

Etapa 1: na guia Desenvolvedor, clique em Visual Basic para abrir o Editor de VB.

Etapa 2: Vá para Ferramentas e selecione Referências, conforme mostrado na captura de tela abaixo.

Etapa 3: role para baixo na biblioteca Objeto de Referência e selecione "Biblioteca de Objetos Microsoft Outlook 16.0" para disponibilizá-lo para o Excel VBA.

Dependendo do escritório da Microsoft, a versão do Outlook pode ser diferente. No nosso caso, é 16.0. Você pode usar o “ Microsoft Outlook 14.0 Object Library” se essa for a versão mostrada no seu computador.

Marque a caixa do Microsoft Outlook como mostrado na captura de tela acima. Agora podemos usar o objeto Microsoft Outlook no Excel VBA.

Esse processo de configuração da referência à "BIBLIOTECA DE OBJETOS DO MICROSOFT OUTLOOK 16.0" é conhecido como Vinculação antecipada. Sem definir a biblioteca de objetos como "BIBLIOTECA DE OBJETOS DO MICROSOFT OUTLOOK 16.0", não podemos usar as propriedades e os métodos IntelliSense do VBA, o que dificulta a escrita do código.

# 2 - Escreva um código para enviar emails do VBA Outlook do Excel

Siga as etapas abaixo para escrever o código VBA e enviar email do Outlook a partir do Excel.

Etapa 1: Crie um Sub Procedimento nomeando a macro. Vamos nomear macro como "send_email", como mostra a captura de tela abaixo.

Código:

 Opção Explícito Sub Send_email () End Sub 

Etapa 2: defina a variável como Outlook. Aplicativo, como mostrado na captura de tela abaixo. Esta é a referência ao aplicativo VBA Outlook.

Código:

 Opção Sub explícito Send_email () Dim OutlookApp como Outlook.Application End Sub 

Etapa 3: precisamos enviar um email no Outlook para definir outra variável como " Outlook.Mailitem ", como mostra a imagem abaixo.

Código:

 Opção Sub explícito Send_email () Dim OutlookApp como Outlook.Application Dim OutlookMail como Outlook.MailItem End Sub 

Etapa 4: Nas etapas anteriores, definimos a variável agora precisamos defini-las.

Agora defina a primeira variável "Aplicativo do Outlook" como "Novo Outlook.Application", conforme mostrado na captura de tela abaixo.

Código:

 Opção Sub explícito Send_email () Dim OutlookApp como Outlook.Application Dim OutlookMail como Outlook.MailItem Defina OutlookApp = Novo Outlook.Application End Sub 

Etapa 5: agora defina a segunda variável "Outlook Mail" com o código abaixo.

Código:

 Opção Explícita Sub Send_email () Dim OutlookApp Como Outlook.Application Dim OutlookMail Como Outlook.MailItem Defina OutlookApp = Novo Outlook.Application Defina OutlookMail = OutlookApp.CreateItem (olMailItem) End Sub 

Etapa 6: Agora podemos usar o VBA Outlook usando a instrução " With ", como mostra a captura de tela abaixo.

Código:

 Opção Sub explícito Send_email () Dim OutlookApp como Outlook.Application Dim OutlookMail como Outlook.MailItem Defina OutlookApp = Novo Outlook.Application Defina OutlookMail = OutlookApp.CreateItem (olMailItem) com OutlookMail End Sub 

Agora temos todo o acesso a itens de e-mail como "Para", "CC", "BCC", "assunto", "Corpo do e-mail" e muitos outros itens.

Etapa 7: Dentro da declaração "With", podemos ver uma lista colocando um ponto conhecido como "Lista Intellisense".

Etapa 8: primeiro selecione o formato do corpo como olFormatHtml, conforme mostrado na captura de tela abaixo.

Código:

 Com OutlookMail .BodyFormat = olFormatHTML End Sub 

Etapa 9: Selecione " .Display " para exibir o e-mail, conforme mostrado na captura de tela abaixo.

Código:

 Com OutlookMail .BodyFormat = olFormatHTML .Display End Sub 

Etapa 10: selecione " .HTMLbody " para escrever o e-mail, conforme mostrado na captura de tela abaixo.

Código:

 Com o OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "escreva o seu email aqui" End Sub 

Precisamos lembrar algumas coisas ao escrever o email no código VBA.

"
”É usado para incluir quebra de linha entre duas linhas. Para adicionar assinatura no email, você precisa digitar "& .HTMLbody"

Veja abaixo o exemplo de como escrever o correio no VBA.

Código:

 Com OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Dear ABC" & "
"&" Encontre o arquivo em anexo "& .HTMLBody End Sub

Etapa 11: agora precisamos adicionar o destinatário do email. Para isso, você precisa usar ".To".

Código:

 .To = " " 

Etapa 12: Se você deseja adicionar alguém em "CC" e "BCC", você pode usar ".CC" e ".BCC", conforme mostrado na captura de tela abaixo.

Código:

 .CC = " " .BCC = " " 

Etapa 13: para adicionar um assunto ao email que estamos enviando, podemos usar o " .Subject ", como mostra a captura de tela abaixo.

Código:

 .Subject = "TEST MAIL" 

Etapa 14: podemos adicionar nossa pasta de trabalho atual como um anexo no email com a ajuda da propriedade ".Attachment". Para fazer isso, primeiro declare uma variável Source como uma string.

Código:

 Dim source_file As String 

Em seguida, use o código a seguir para anexar o arquivo no email.

Código:

 source_file = ThisWorkbook.FullName .Attachments.Add source_file 

Aqui, o ThisWorkbook é usado para a pasta de trabalho atual e. FullName é usado para obter o nome completo da planilha.

Etapa 15: Agora, o último código é finalmente enviar o email para o qual podemos usar " .send ". Mas certifique-se de fechar o procedimento With and Sub com "End with" e "End Sub", conforme mostrado na captura de tela abaixo.

Portanto, o código está finalmente pronto para enviar um email. Precisamos apenas executar a macro agora.

Etapa 16: Execute o código pressionando F5 ou o botão Executar e veja a saída.

Código completo final

Abaixo está o código final sobre como enviar um email com a ajuda do VBA Outlook.

Código:

 Opção Explícita Sub Send_email () Dim OutlookApp Como Outlook.Application Dim OutlookMail Como Outlook.MailItem Dim source_file Como String Definir OutlookApp = Novo Outlook.Application Definir OutlookMail = OutlookApp.CreateItem (olMailItem) Com OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = " Caro ABC "&"
"&" Encontre o arquivo anexado "& .HTMLBody .To =" ".CC =" ".BCC =" ".Subject =" TEST MAIL "source_file = ThisWorkbook. FullName .Attachments.Add source_file .Send End With End Sub

Exemplo de função Outlook do VBA

Suponha que exista um líder de equipe e ele queira enviar um email diário para acompanhar as atividades de cada membro. O email será assim.

" Oi equipe,

Solicite que você compartilhe suas ações em cada um dos itens de acompanhamento às 11 da manhã de hoje.

Obrigado e cumprimentos,

Desconhecido

"

Siga as etapas mencionadas acima para fazer referência ao Microsoft Object e escrever a codificação VBA ou você pode simplesmente modificar o código adequadamente.

Portanto, com todo o código permanecendo o mesmo, precisamos alterar algumas coisas no código, como ID do e-mail do destinatário, Assunto, Corpo do e-mail e não haverá anexo no e-mail.

Abaixo está o código modificado que estamos usando para escrever este email.

Código:

 Sub Send_teamemail () Dim OutlookApp como Outlook.Application Dim OutlookMail como Outlook.MailItem Set OutlookApp = Novo Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Com OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Oi, equipe" & "
"&"
"&" Solicite que você compartilhe gentilmente suas ações em cada um dos itens de acompanhamento às 20:00 de hoje. "& .HTMLBody .To =" ; ; ".Subject =" Acompanhamento da equipe ".Enviar End With End Sub

Depois de executar a macro, você verá que o email foi enviado automaticamente de sua perspectiva.

Coisas para lembrar

  • Primeiro, verifique se você instalou o Microsoft Outlook no seu computador e se está conectado à sua conta.
  • Verifique se a caixa de referência do Microsoft Outlook na biblioteca de objetos está sempre marcada. O código não será executado e lançará um erro se não estiver marcado.
  • Definir variáveis ​​e definir variáveis ​​é muito importante na codificação VBA. Sem Variáveis, um código não funcionará.
  • Certifique-se de que se você deseja adicionar assinatura ao correio, primeiro você deve ter pelo menos uma assinatura já criada no Outlook.
  • Sempre use "
    ”Para inserir intervalos de linha no correio.

Artigos recomendados

Este é um guia para o VBA Outlook. Aqui discutimos como enviar e-mails do Outlook usando códigos VBA no Excel, juntamente com um exemplo e um modelo para download do Excel. Abaixo estão alguns artigos úteis do Excel relacionados ao VBA -

  1. O que é o erro VBA OverFlow?
  2. Personalizar a barra de ferramentas de acesso rápido no Excel
  3. Exemplos de intervalo nomeado do VBA
  4. Como enviar email do Excel VBA
  5. Como usar a opção explícita no VBA?

Categoria: