Notifications
Clear all

[Resolvido] Macro que envia e-mail  

  RSS
marciarv
(@marciarv)
Active Member Registered

Boa tarde,

Preciso de ajuda, pois estou usando uma macro que envia um arquivo Excel em anexo no e-mail que é informado diretamente na macro.
Mas gostaria de saber se tem como dentro do código dizer para ele buscar o e-mail em uma determinada célula da planilha, pois como serão vários e-mails e a cada momento irei enviar para um específico, não queria criar vários códigos para vários e-mail.

Segue o código.

Sub EnviarEmail_1()
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 = "lancamento"

 '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 "marcia.rv@hotmail.com", "Relatório Atividades Diárias"

 'Fecha o arquivo novo
 NovoArquivoXLS.Close

'Exclui o arquivo criado apenas para ser enviado.
Kill sExcluirAnexoTemporario

End Sub
ResponderCitar (Quote)
Postado : 20/06/2018 2:08 pm
boobymcgee
(@boobymcgee)
Trusted Member Registered

Assim, vai buscar o endereço de E-mail na célula A1:

Sub EnviarEmail_1()
Dim NovoArquivoXLS As Workbook
Dim sPlanAEnviar As String
Dim sExcluirAnexoTemporario As String
Dim email As String

email = [a1].Value

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

'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, "Relatório Atividades Diárias"

'Fecha o arquivo novo
NovoArquivoXLS.Close

'Exclui o arquivo criado apenas para ser enviado.
Kill sExcluirAnexoTemporario

End Sub
ResponderCitar (Quote)
Postado : 20/06/2018 2:20 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Illustrious Member Registered Registered

marciarv,

Boa Tarde!

Pedimos, por gentileza, ao postar código VBA, utilizar a ferramenta CODE existente logo acima da caixa de mensagens (quinto botão da esquerda para a direita).

Se a resposta foi útil para você, por gentileza, Amigo, clique em Curtir.

Atenciosamente
Wagner Morel

ResponderCitar (Quote)
Postado : 20/06/2018 2:25 pm
marciarv
(@marciarv)
Active Member Registered

Boa tarde e obrigado pela dica.

ResponderCitar (Quote)
Postado : 20/06/2018 2:56 pm
marciarv
(@marciarv)
Active Member Registered

boobymcgee,
Muito obrigado, pois era exatamente isso que eu estava precisando.
Mas não querendo abusar da sua boa vontade, seria possível colocar mais de um e-mail caso eu precisar, ou informar mais de uma célula com outro e-mail.

ResponderCitar (Quote)
Postado : 20/06/2018 2:58 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Illustrious Member Registered Registered

marciarv,

Ok.

Como você ainda é novato no fórum, pedimos também que não use citações de inteiro teor das mensagens que lhe são encaminhadas. Elas são desnecessárias.

Para manter o fórum organizado e de acordo com as regras do mesmo, segue abaixo algumas observações importantes que poeço ler com atenção.

Algumas solicitações especiais que pedimos, por gentileza, ficar atento:
1 - Não inserir no titulo de suas postagens expressões como Help, Ajuda, etc. O título deve ser um resumo da sua necessidade para que outras pessoas que tenham a mesma dúvida possam efetuar a pesquisa e achar como foi resolvido.
2 - Não insira em suas mensagens frases todas escritas em letras maiúsculas. Isso, na Internet, é compreendido como gritos e muitos usuários sequer respondem somente por esse fato!
3 - Insira sempre um arquivo exemplo compactado com .ZIP aqui mesmo no fórum. Existe, logo abaixo da caixa de mensagens, uma aba chamada "Adicionar um anexo" para essa finalidade. O arquivo exemplo deve ser pequeno, com apenas 5 linhas no máximo, compactado com .ZIP e ter o mesmo layout (nome do arquivo, nome das abas/guias/folhas, mesma linha/coluna onde os dados se iniciam) do arquivo original. Links de arquivos enviados para sites de compartilhamento de arquivos, muitas vezes são bloqueados pelas empresas, por conterem muitos vírus. Alguns usuários que acessam o fórum a partir de empresas não conseguem baixar tais arquivos.
4 - Não utilize a ferramenta CITAR para inserir o inteiro teor das mensagens que lhe são encaminhadas como resposta. Citações, se estritamente necessárias ao entendimento da mensagem que você quer enviar, devem ser apenas de pequenos trechos das mensagens.
5 - Se for postar códigos VBA aqui no fórum, utilize a ferramenta CODE localizada logo no início da caixa de mensagens (quinto botão da esquerda para a direita). As linhas de código devem ficar entre as palavras "CODE e /CODE".
6 - Agradeça sempre às pessoas que lhe responderam e às mensagens que atenderam a necessidade de sua demanda. Esse agradecimento deve ser clicando na mãozinha que fica localizada ao lado da ferramenta CITAR. Lembre-se: o fórum é gratuito e esse é o único incentivo para as pessoas que prestam ajuda. Você pode agradecer a quantos usuários quiser.
7 - O título ou o texto das mensagens postadas não devem ser escritos todo em letras maiúsculas. Na internet, tudo escrito em letras maiúsculas é interpretado como gritos e muitos usuários sequer olham para esse tipo de mensagem.

Se a resposta foi útil para você, por gentileza, Amigo, clique em Curtir.

Atenciosamente
Wagner Morel

ResponderCitar (Quote)
Postado : 20/06/2018 3:29 pm
boobymcgee
(@boobymcgee)
Trusted Member Registered

Oi marciarv, nesse caso é melhor usar outro código que é mais completo e te possibilita mais opções, veja o exemplo

ResponderCitar (Quote)
Postado : 20/06/2018 4:47 pm
marciarv
(@marciarv)
Active Member Registered

Não tenho palavras para agradecer,você me ajudou muitooooooooooooo.....
Deu super certo e você é fantástico, meus parabéns. :D :D :D :D :D

ResponderCitar (Quote)
Postado : 20/06/2018 7:40 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Illustrious Member Registered Registered

marciarv,

Bom dia!

Você não leu as recomendações que lhe passei. Citações são desnecessárias.

Se a resposta foi útil para você, por gentileza, Amigo, clique em Curtir.

Atenciosamente
Wagner Morel

ResponderCitar (Quote)
Postado : 21/06/2018 7:40 am