Enviar e-mail Excel VBA - Planilha de Aniversário para download
Especialista em Excel

Enviar e-mail Excel VBA - Planilha de Aniversário para download
O Excel permite coisas incríveis! Por exemplo enviar e-mail no Excel usando VBA. Neste artigo você verá como enviar e-mail pelo Excel usando VBA e um exemplo de uma planilha de aniversário construída pelo Guia do Excel e que você poderá realizar o download, e totalmente desbloqueada.
Painel envio de e-mail Excel
No painel você tem acesso rápido ao sistema de envio de email pelo Excel com VBA.
- Configuração: Abre a planilha de configuração do e-mail de envio. Nela são inseridas informações da conta SMTP para envio do e-mail.
- Lista: Abre a planilha dos aniversariantes, esta contém a lista dos e-mails destinatários.
- Período e Enviar: No período são definidos o período dos aniversariantes para os quais serão enviados e-mails e no botão Enviar são enviados os e-mails automaticamente pelo Excel usando VBA.
Configuração enviar e-mail
Na planilha de configuração de e-mail você tem todas irá realizar as configurações do SMTP e também a mensagem que será enviada.
- SMTP: Inclua o SMTP da sua conta de e-mail. No caso do gmail é smtp.gmail.com.
- PORT: Porta do SMTP da conta de e-mail de envio.
- AUTENTICAR: Selecione Sim para autenticar o SMTP ou Não para não autenticar o SMTP.
- NOME: Nome do remetente do e-mail.
- EMPRESA: Nome da empresa d oenvio do e-mail.
- EMAIL: E-mail do remetente, coloque o e-mail completo.
- SENHA: Digite a senha do seu e-mail.
- SMTP SSL: Marque Sim se sua conta de e-mail possuir autenticação de SSL e Não se não tiver.
- TÍTULO: Digite o título dos e-mails enviados.
- CÓPIA E-MAIL: Se quiser que sejam enviadas cópias de e-mail para outro destinatário apenas digite o e-mail.
- MENSAGEM: Digite a mensagem que gostaria de enviar. Você pode enviar em HTML inclusive usando um editor HTML Online, por exemplo: http://www.comofazerumsite.com/editor-html-online/. Veja o vídeo de como usar facilmente.
LISTA DE E-MAILS PARA ENVIO
Na lista de e-mails para envio preencha o nome do cliente, a data de nascimento e o seu e-mail.
Estes dados serão utilizados para personalizar a mensagem colocando o nome do cliente no título do e-mail, filtrar os e-mails a serem enviados pela data de aniversário definida no período no Painel e o e-mail de cada cliente para o envio da mensagem.
CÓDIGO FONTE VBA PARA ENVIAR E-MAIL PELO EXCEL VBA
Abaixo o código fonte VBA utilizado para o envio de e-mails utilizando o Excel.
Não esqueça de marcar a referência Microsoft CDO for Windows 2000 Library conforme explicado no vídeo deste artigo.
'Baseado no código disponibilizado em: http://www.a1vbcode.com/snippet-3691.asp
Public Sub lsEnviar()
Dim iMsg, iConf, Flds
Dim lUltimaLinhaAtiva As Long
Dim lLinha As Long
Dim lPeriodoIni As Date
Dim lPeriodoFim As Date
Dim lAniversario As Date
Application.ScreenUpdating = False
lUltimaLinhaAtiva = Worksheets("Lista").Cells(Worksheets("Lista").Rows.Count, 1).End(xlUp).Row
'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") = Range("smtp").Value
'Configura a porta de envio de email
Flds.Item(schema & "smtpserverport") = Range("port").Value
Flds.Item(schema & "smtpauthenticate") = IIf(Range("Autenticar").Value = "Sim", 1, 0)
'Configura o email do remetente
Flds.Item(schema & "sendusername") = Range("email").Value
'Configura a senha do email remetente
Flds.Item(schema & "sendpassword") = Range("senha").Value
Flds.Item(schema & "smtpusessl") = IIf(Range("SSL").Value = "Sim", 1, 0)
Flds.Update
For lLinha = 2 To lUltimaLinhaAtiva
lPeriodoIni = Range("PerIni").Value
lPeriodoFim = Range("PerFim").Value
lAniversario = Sheets("Lista").Range("B" & lLinha).Value
If (Month(lAniversario) >= Month(lPeriodoIni) And Day(lAniversario) >= Day(lPeriodoIni)) _
And (Month(lAniversario) <= Month(lPeriodoFim) And Day(lAniversario) <= Day(lPeriodoFim)) Then
With iMsg
'Email do destinatário
.To = Sheets("Lista").Range("C" & lLinha).Value
'Seu email
.From = Range("email").Value
'Cópia do e-mail
.CC = Range("copia").Value
'Título do email
.Subject = Range("titulo").Value & " " & Sheets("Lista").Range("A" & lLinha).Value
'Mensagem do e-mail, você pode enviar formatado em HTML
.HTMLBody = Range("Mensagem").Value
'Seu nome ou apelido
.Sender = Range("Nome").Value
'Nome da sua organização
.Organization = Range("Empresa").Value
'email de responder para
.ReplyTo = Range("email").Value
'Anexo a ser enviado na mensagem
'.AddAttachment ("c:\rieper\Dicas VBA.docx")
'Passa a configuração para o objeto CDO
Set .Configuration = iConf
'Envia o email
.Send
End With
End If
Next lLinha
'Limpa as variáveis
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
Application.ScreenUpdating = True
MsgBox "E-mails enviados!"
End Sub
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








