Enviar Email Diretamente Do Excel

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 situações. 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 destinatários já cadastrados em algum banco de dados, enfim, use sua criatividade e obtenha os mais fantásticos resultados. Primeiro, crie um módulo global para escrever a rotina de envio de emails. Vamos chamá-la deEnviarEmail. Sub EnviarEmail() ActiveWorkbook.SendMail "email_do_destinatá[email protected]" , "Título do Email" E nd Sub O código acima dispensa maiores explicações. Ele serve para enviar todo o arquivo (pasta de trabalho) por email. A partir dele você pode começar a se divertir, adicionando modificações que atenderão ao seu projeto, em particular. Suponha que sua necessidade seja de enviar apenas uma planilha específica dentre as inúmeras planilhas que você possui no seu arquivo. Você pode fazer assim: Sub EnviarEmailPlanilhaEspecifica() Dim NovoArquivoXLS As Workbook Dim sPlanAEnviar As String Dim 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)

description

Enviar Email Diretamente Do Excel

Transcript of Enviar Email Diretamente Do Excel

Enviar Email diretamente do Excel (Macro)PorReinaldo CoralVou mostrar uma macro para enviar suas planilhas poremaildiretamente 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 seuprograma, 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 ummduloglobal para escrever a rotina de envio de emails. Vamos cham-la deEnviarEmail.

SubEnviarEmail()ActiveWorkbook.SendMail"[email protected]","Ttulo do Email"EndSub

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 EnviarEmailPlanilhaEspecifica()Dim NovoArquivoXLS As WorkbookDim sPlanAEnviar As StringDim 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 protected]", "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.