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- Consulte Objeto do Microsoft Outlook da Biblioteca de Objetos no VBA.
- 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 -
- O que é o erro VBA OverFlow?
- Personalizar a barra de ferramentas de acesso rápido no Excel
- Exemplos de intervalo nomeado do VBA
- Como enviar email do Excel VBA
- Como usar a opção explícita no VBA?