Como Enviar email VBA no Excel sem usar o Outlook?
Especialista em Excel

Neste artigo você aprenderá como enviar email VBA no Excel sem usar o Outlook. No artigo você tem o código pronto para a o envio de email.
Como Funciona o Envio de Email?
O envio de e-mail na internet é feito utilizando o protocolo SMTP, provavelmente você já viu isso quando estava configurando o seu Outlook.
Este é um formato padronizado de envio de email utilizado por todos os sistemas, como Gmail e Hotmail.
Nele temos os campos de:
- Corpo do email
- Destinatários (Para, Cc, Bcc)
- Assunto
- Anexos
O protocolo é padronizado para facilitar o envio dos emails por qualquer plataforma de envio de emails, assim como a leitura dos emails enviados.
No VBA do Excel é possível realizar o envio de emails utilizando o protocolo SMTP e nest artigo você tem um código pronto para o envio de emails pelo Excel.
Esta funcionalidade no Excel é particularmente útil, pois permite a automação de envio de emails, inclusive com anexos se precisar.
Como enviar e-mail pelo Excel VBA sem usar o Outlook?
O Excel VBA tem por finalidade permitir a automação de processos no Excel.
Um exemplo prático é o envio de email pelo Excel sem a utilização do Outlook.
Para isso é necessário que seja realizada uma configuração inicial com as referências no VBE.
Para tanto, abra o VBE, habilitando a guia Desenvolvedor e clicando no botão Visual Basic, nele siga conforme os passos que temos abaixo.
Para utilizar este código a primeira coisa que você deve fazer é abrir o VBA e clicar em Ferramentas->Referências->Microsoft CDO for Windows 2000 Library marcando este último, que é o componente do Windows para envio de emails.
O segundo passo é criar um módulo e incluir o código fonte abaixo que foi comentado para melhor entendimento. Substitua os pontos aonde está escrito teste pelos dados correspondentes e você conseguirá enviar e-mails a partir do Excel. Este exemplo está configurado para envio de emails a partir de uma conta do GMAIL.
Código VBA para enviar email pelo Gmail pelo Excel:
teste
'Baseado no código disponibilizado em: http://www.a1vbcode.com/snippet-3691.asp
Function EnviaEmail2()
Dim iMsg, iConf, Flds
'Seta as variáveis, lembrando que o objeto Microsoft CDO deverá estar habilitado em Ferramentas->Referências->Microsoft CDO for Windows 2000 Library
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
'Configura o componente de envio de email
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
'Configura o smtp
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
'Configura a porta de envio de email
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
'Configura o email do remetente
Flds.Item(schema & "sendusername") = "seuemail@gmail.com"
'Configura a senha do email remetente
Flds.Item(schema & "sendpassword") = "suasenha"
Flds.Item(schema & "smtpusessl") = 1
Flds.Update
With iMsg
'Email do destinatário
.To = "destino@gmail.com"
'Seu email
.From = "seuemail@gmail.com"
'Título do email
.Subject = "Isto é um teste de Envio de email"
'Mensagem do e-mail, você pode enviar formatado em HTML
.HTMLBody = "Mensagem enviada com o gmail."
'Seu nome ou apelido
.Sender = "Teste"
'Nome da sua organização
.Organization = "Empresa Teste"
'email de responder para
.ReplyTo = "teste@gmail.com"
'Anexo a ser enviado na mensagem
.AddAttachment ("c:\fatura.txt")
'Passa a configuração para o objeto CDO
Set .Configuration = iConf
'Envia o email
.Send
End With
'Limpa as variáveis
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
End Function
Este código pode ser facilmente adaptado para enviar emails com informações de células do Excel e uma mensagem formatada em HTML.
Conclusão
O Excel VBA é uma ferramenta de programação completa e que permite a automação de processos complexos, como o envio de email com anexo.
Desta forma este código VBA para envio de email sem a necessidade do Outlook pode te ajudar neste processo, e também pode ver o vídeo ao topo do artigo que demonstra o funcionamento de uma solução completa de envio do email.
Principais recursos
Confira o que este material oferece para você.
Perguntas frequentes
O material é realmente gratuito?
Sim. O acesso é gratuito e não exige cadastro.
Preciso ter o Excel instalado?
Recomendamos o Excel 2013 ou superior para todos os recursos.
Como faço para receber atualizações?
As atualizações são automáticas dentro da própria planilha.
Funciona no Excel do Mac?
Sim, funciona no Excel para Windows e para Mac.
Funciona no celular?
É possível visualizar no app do Excel; a edição completa é no computador.
Planilhas relacionadas
Planilha de Fluxo de Caixa
R$ 89,90
Controle de Estoque
R$ 69,90
Planilha Financeira Empresarial
R$ 79,90
Dashboard Financeiro no Excel
R$ 49,90




