Вы находитесь на странице: 1из 2

Enviar Email diretamente do Excel (Macro)

Por Reinaldo Coral


Vou mostrar uma macro para enviar suas planilhas por email diretamente pelo
Excel.
Essa rotina que irei descrever pode ser adaptada para diversas situaes. Voc,
como programador, entender o seu funcionamento e saber ajust-la para a
sua necessidade, de acordo com o seu projeto. Seja para enviar
automaticamente ao concluir alguma etapa do seu programa, seja para enviar
planilhas seletivamente, para enviar para destinatrios j cadastrados em
algum banco de dados, enfim, use sua criatividade e obtenha os mais
fantsticos resultados.
Primeiro, crie um mdulo global para escrever a rotina de envio de emails.
Vamos cham-la deEnviarEmail.

Sub EnviarEmail()
ActiveWorkbook.SendMail "email_do_destinatrio@email.com", "Ttulo
do Email"
End Sub

O cdigo acima dispensa maiores explicaes. Ele serve para enviar todo o
arquivo (pasta de trabalho) por email.
A partir dele voc pode comear a se divertir, adicionando modificaes que
atendero ao seu projeto, em particular. Suponha que sua necessidade seja de
enviar apenas uma planilha especfica dentre as inmeras planilhas que voc
possui no seu arquivo. Voc pode fazer assim:

Sub
Dim
Dim
Dim

EnviarEmailPlanilhaEspecifica()
NovoArquivoXLS As Workbook
sPlanAEnviar As String
sExcluirAnexoTemporario As String

'Define a planilha que ser enviada por email. Ex.: Plan1, Balancete,
Lista De Nomes, etc
sPlanAEnviar = "Plan2"

'Cria um novo arquivo excel


Set NovoArquivoXLS = Application.Workbooks.Add
'Copia a planilha para o novo arquivo criado
ThisWorkbook.Sheets(sPlanAEnviar).Copy
Before:=NovoArquivoXLS.Sheets(1)
'Salva o arquivo
NovoArquivoXLS.SaveAs ThisWorkbook.Path & "\" & sPlanAEnviar & ".xls"
sExcluirAnexoTemporario = NovoArquivoXLS.FullName
'Envia o email
NovoArquivoXLS.SendMail "email_do_destinatrio@email.com", "Ttulo do
Email"
'Fecha o arquivo novo
NovoArquivoXLS.Close
'Exclui o arquivo criado apenas para ser enviado.
Kill sExcluirAnexoTemporario
End Sub

Esta macro salvar em um novo arquivo excel somente a planilha informada e a


enviar por email.

Вам также может понравиться