Aprendendo como enviar Email com VBA usando o Excel

Olá Amigos,

Venho mais esta postagem que tenho certeza que lhe ajudará muito em suas rotinas diárias.

Aprendendo como enviar Email com VBA usando o Excel

Muitas vezes estamos preparando um relatório e necessitamos enviar este por email, é muito trabalhoso ter te ficar procurando nos itens enviados o último relatório para ter de replicar novamente aos destinatários.

Para evitar isso, temos a rotina abaixo que permite que você configure o envio diretamente do arquivo em que se está trabalhando.

É possível configurar os campos de destinatários, com cópia, com cópia oculta, qual será o título do Email, o texto que irá no corpo do e-mail.



DICA: Aprendendo VBA – Como deixar um formulário ficar com tela cheia!?

Também é possível configurar se o email por VBA será enviado diretamente ou se o email VBA será exibido na sua tela.
Por padrão neste código colocamos para o e-mail VBA ser exibido através do propriedade .Display.

Sub Envio()

Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem

'Criação e chamada do Objeto Outlook
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)

Application.DisplayAlerts = False

With OutMail

.To = "douglas@douglasgodoy.com.br "
.CC = ""
.BCC = ""
.Subject = "Este é um e-mail de teste"
.HTMLBody = "Caros, este é um email de teste!"

'O trecho abaixo anexa a planilha ao e-mail
.Attachments.Add ActiveWorkbook.FullName

.Send 'Ou .Display para mostrar o email

End With

Application.DisplayAlerts = True

'Resetando a sessão
Set OutMail = Nothing
Set OutApp = Nothing

End Sub

 

Implementação:

1 – Abra um novo documento no Microsoft Excel.
2 – Aperte Alt + F11 para acessar o console de Macros.
3 – Clique em inserir novo módulo.
4 – Após inserir o novo módulo copie e cole o código abaixo.

novo modulo vba

5- EM CASO DE ERRO AO EXECUTAR O CÓDIGO:
Se você executar o código após isso será exibido o seguinte erro.

Erro email

Este erro ocorre pois na rotina que estamos criando fazemos referencia ao Objeto Outlook.Application, para corrigir este erro temos de seguir os passos a seguir, e referenciar o objeto em nosso projeto.

6 – ATIVE AS REFERÊNCIAS: Clique em Ferramentas ou Tools.
Referencias VBA

7 – Após isso será exibida a janela abaixo, onde você deverá procurar por “Microsoft Outlook 14.0 Object Library”
Lembrando que pode variar conforme a versão do seu Excel, 14.0 ou 15.0 ou assim por diante.

Referencias-EMAIL

Importante:

Após realizar a criação do módulo, ativar a referência a biblioteca do Outlook você poderá utilizar o código para enviar emails diretamente do excel com VBA.

Aguardo seus comentários!

Douglas Godoy



Comentários

  • luciana ribeiro
    Responder

    ola muito bom seu codigo porem não estou conseguindo enviar o email ele ate anexa no outlook porem não dispara

    • Douglas Godoy

      Olá Luciana,

      No código tem uma propriedade que é definida como .Display…
      Ela ao invés de mandar o e-mail ela mostra, mude ela para .Send…

      Após isso você conseguirá enviar o e-mail diretamente.

      Abs

  • Ricardo Nilton Borges
    Responder

    Seu código é tudo que eu estava procurando!!
    eu não achei mas só esqueceu de falar que tem que retirar os textos para ele funcionar, ao menos aqui foi assim!

    Valeu!!

  • lucas
    Responder

    Ótimo cara!!

  • lucas
    Responder

    Sensacional cara!!

  • Luis Felipe
    Responder

    Douglas, parabens pela iniciativa, muito bacana mesmo, ainda não encontrei uma aplicação para mim, mas esse tipo de aplicativo pode automatizar muita coisa, como relatórios diários que devem ser enviados por email. Parabens