Como Enviar email VBA no Excel sem usar o Outlook?

MR
Marcos Rieper

Especialista em Excel

18 de outubro de 2024 Atualizado 08 de julho de 2026 4 min de leitura
Como enviar email VBA 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:

  1. Corpo do email
  2. Destinatários (Para, Cc, Bcc)
  3. Assunto
  4. 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ê.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

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

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado