VBA Enviar email do Excel

O VBA não se limita apenas aos dados no Excel. Podemos enviar e-mails através do VBA e é isso que aprenderemos neste artigo. Requer um conhecimento considerável do VBA e seus métodos para escrever o código e enviar emails do Excel. Antes de começarmos a escrever e enviar e-mails do excel, deixe-nos saber o que essa automação significa. Esse tipo de automação significa acessar um recurso de outro aplicativo usando qualquer outro aplicativo. Agora que o recurso de correspondência é oferecido pela Microsoft no Outlook, usaremos métodos e propriedades do Outlook no Excel para enviar e-mails. Para enviar um email, também precisamos conhecer o básico do email. Para os leigos, qual é o processo e qual é o requisito para enviar um email? Um email consiste em um endereço de email do remetente se houver um CC (Carbon Copy) ou um BCC e uma linha de assunto com um corpo de email.

Como enviar emails do Excel VBA?

Vamos aprender como enviar e-mails através do Outlook do Excel no VBA por um exemplo. Neste exemplo, também enviaremos um anexo para o destinatário, o mesmo arquivo excel em que escreveremos o código.

Você pode fazer o download deste modelo de envio de email do VBA Excel aqui - Modelo de envio de email do VBA Excel

Siga as etapas abaixo para enviar email do Excel usando o código VBA:

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

Antes de passarmos a escrever códigos para enviar um email, precisamos saber que o outlook é um objeto externo e precisamos encaminhá-lo no VBA.

Etapa 2: Vá para Ferramentas e selecione Referências.

Etapa 3: clicar na referência abrirá uma caixa de assistente para nós, encontre uma referência para a biblioteca de objetos do Microsoft Outlook e marque-a e clique em OK.

Etapa 4: clique na guia Inserir e insira um módulo no projeto VBA.

Etapa 5: defina um subprocedimento como mostrado abaixo.

Código:

 Sub EmailExample () End Sub 

Etapa 6: fornecendo referência às perspectivas acima, agora podemos acessar as propriedades da perspectiva no VBA. Agora vamos declarar uma variável como um aplicativo do Outlook.

Código:

 Dim Email As Outlook.Application 

Etapa 7: Como o FSO, essa variável é uma variável de objeto; portanto, para acessar qualquer outro aplicativo que precisamos criar, instale uma instância, como mostrado abaixo, usando a palavra-chave SET.

Código:

 Definir email = novo Outlook.Application 

Etapa 8: Como queremos enviar um anexo para o destinatário, precisamos declarar uma variável como String que manterá o caminho para o anexo.

Código:

 Dim Sr As String 

Etapa 9: Agora, vamos começar com a parte de correspondência deste código. Para enviar um email, precisamos definir outra variável que usará a propriedade do outlook para se referir a um novo email, como mostrado abaixo.

Código:

 Dim newmail As Outlook.MailItem 

Etapa 10: semelhante ao acima, com o uso de outro aplicativo no exemplo que precisamos criar instâncias, agora precisamos criar uma instância para um novo email que abrirá o novo email usando a palavra-chave set.

Código:

 Definir newmail = Email.CreateItem (olMailItem) 

Antes de avançarmos, deixe-me explicar nosso progresso até agora, a primeira instância abrirá perspectivas para nós, enquanto a segunda instância abrirá o novo email para nós.

Etapa 11: Como expliquei acima, qual é o requisito para enviar um email. O primeiro requisito é um destinatário que é "Para" em um email. Portanto, vamos usar a propriedade To do outlook no excel da seguinte maneira.

Código:

 newmail.To = " " 

Etapa 12: como usamos a propriedade To, temos outro recurso a ser usado, como a Carbon Copy ou a propriedade CC do outlook.

Código:

 newmail.CC = " " 

Da mesma forma, podemos usar a propriedade BCC.

Nota: A propriedade BCC é usada quando queremos ocultar o endereço de email do receptor BCC dos outros receptores.

Qual é o próximo passo no envio de um email?

Etapa 13: está sujeito. Quando escrevemos o nome da instância com um operador de ponto, podemos ver a opção para um assunto da seguinte maneira.

Etapa 14: Pressione Tab no assunto IntelliSense e escreva um assunto aleatório, como mostrado abaixo.

Código:

 newmail.Subject = "Este é um email automatizado" 

Etapa 15: a próxima etapa para escrever um email é um corpo para o email. Como as propriedades que usamos acima com a instância, vamos usar a propriedade body da perspectiva para escrever o corpo da seguinte maneira.

Código:

 newmail.HTMLBody = "Olá", & vbNewLine & vbNewLine & "Este é um email de teste do Excel" & _ vbNewLine & vbNewLine & _ "Atenciosamente", & vbNewLine & _ "VBA Coder" 

Etapa 16: agora criamos um email com um corpo e uma linha de assunto. O próximo passo é adicionar um anexo ao email. Como queremos enviar a planilha atual para o destinatário, usaremos o caminho da seguinte maneira:

Código:

 Sr = ThisWorkbook.FullName 

Etapa 17: Agora podemos enviar o anexo usando a propriedade do anexo, como mostrado abaixo.

Código:

 newmail.Attachments.Add Sr 

Etapa 18: agora, finalmente, precisamos enviar o email. Assim como no Outlook, pressionamos o botão Enviar para enviar um email. Da mesma forma, usaremos as propriedades de envio do Outlook da seguinte maneira.

Código:

 newmail.Send 

Código completo final

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

Código:

 Sub EmailExample () Dim Email como Outlook.Application Set Email = New Outlook.Application Dim Sr Como String Dim newmail Como Outlook.MailItem Set newmail = Email.CreateItem (olMailItem) newmail.To = " " newmail.CC = " " newmail.Subject = "Este é um email automatizado" newmail.HTMLBody = "Olá, " & vbNewLine & vbNewLine & "Este é um email de teste do Excel" & _ vbNewLine & vbNewLine & _ "Atenciosamente, " & vbNewLine & _ "VBA Coder" Sr = ThisWorkbook.FullName newmail.Attachments.Add Sr newmail.Send End Sub 

Quando executamos o código acima, precisamos aguardar alguns segundos para que o código seja executado e podemos verificar a caixa enviada no Outlook que o email foi enviado através do Excel.

Coisas para lembrar

  • Usamos outro aplicativo para enviar um email do excel.
  • Para usar outro aplicativo, criamos instâncias.
  • Antes de usar o Outlook como outro aplicativo, precisamos nos referir aos objetos do Outlook na guia referência.
  • Precisamos conhecer os requisitos de um email para enviar um email.

Artigos recomendados

Este é um guia para o VBA Send Email From Excel. Aqui discutimos como enviar e-mails com anexos do excel usando o código VBA, juntamente com um exemplo e um modelo para download do excel. Abaixo estão alguns artigos úteis do Excel relacionados ao VBA -

  1. Hiperlink do VBA com exemplos
  2. Como usar a função YEAR no Excel?
  3. Dicas sobre o uso do VBA Outlook
  4. Tutoriais sobre a função de data do Excel

Categoria: