Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Codigo VBA enviar e-mail em massa com anexos diferentes

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Emerson Ribeiro
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qui Abr 16, 2015 10:15 pm

Codigo VBA enviar e-mail em massa com anexos diferentes

Mensagem por Emerson Ribeiro »

Boa noite,

Pesquisei em vários posts e encontrei vários exemplos, mas nenhum encaixa em minha necessidade e como sou um seguidor do Sr. Tomás acredito que poderá me ajudar.

Vamos lá...

Preciso envia e-mail a várias pessoas e com anexos diferente para cada uma delas.
Isso se faz necessário por que neste caso se trata de alteração de servidor de e-mail e consequentemente troca de assinatura de cada usuário.

Portanto eu preciso de uma rotina que pudesse encaminhar para cada e-mail um anexo com sua assinatura correspondente e no corpo do e-mail um anexo com o passo a passo e neste caso seria o mesmo para todos.
Ex.

suponho que eu tenho uma planilha onde na coluna "A" eu tenho o nome de todos os colaboradores e na coluna "B" eu tenha o e-mail de cada um deles e na coluna "C" eu tenho o caminho com o nome do arquivo da assinatura para cada um correspondente:

José Simões / jose.simoes@gmail.com / c:/assinaturas/José_Simões.pdf
Maria Fernanda / maria.fernanda@gmail.com / c:/assinaturas/Maria_Fernanda.pdf

E para todos seria anexado um tutorial explanado o procedimento da alteração da assinatura > Procedimento.pdf

Por favor, não sei se fui claro, mas é desta rotina que estou precisando.

Desde já agradeço.

At.

Emerson


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


afbergman
Colaborador
Colaborador
Mensagens: 38
Registrado em: Sex Set 26, 2014 12:08 pm

Re: Codigo VBA enviar e-mail em massa com anexos diferentes

Mensagem por afbergman »

Emerson Ribeiro escreveu:Boa noite,

Pesquisei em vários posts e encontrei vários exemplos, mas nenhum encaixa em minha necessidade e como sou um seguidor do Sr. Tomás acredito que poderá me ajudar.

Vamos lá...

Preciso envia e-mail a várias pessoas e com anexos diferente para cada uma delas.
Isso se faz necessário por que neste caso se trata de alteração de servidor de e-mail e consequentemente troca de assinatura de cada usuário.

Portanto eu preciso de uma rotina que pudesse encaminhar para cada e-mail um anexo com sua assinatura correspondente e no corpo do e-mail um anexo com o passo a passo e neste caso seria o mesmo para todos.
Ex.

suponho que eu tenho uma planilha onde na coluna "A" eu tenho o nome de todos os colaboradores e na coluna "B" eu tenha o e-mail de cada um deles e na coluna "C" eu tenho o caminho com o nome do arquivo da assinatura para cada um correspondente:

José Simões / jose.simoes@gmail.com / c:/assinaturas/José_Simões.pdf
Maria Fernanda / maria.fernanda@gmail.com / c:/assinaturas/Maria_Fernanda.pdf

E para todos seria anexado um tutorial explanado o procedimento da alteração da assinatura > Procedimento.pdf

Por favor, não sei se fui claro, mas é desta rotina que estou precisando.

Desde já agradeço.

At.

Emerson
Emerson,

Da uma olhada nesses links. Estou em busca de algumas respostas também relacionado a esse assunto, quem sabe isso te ajuda.
Abraços.

http://www.rondebruin.nl/win/s1/outlook/mail.htm

http://www.rondebruin.nl/win/s1/outlook/bmail4.htm


Emerson Ribeiro
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qui Abr 16, 2015 10:15 pm

Re: Codigo VBA enviar e-mail em massa com anexos diferentes

Mensagem por Emerson Ribeiro »

Boa noite,

Valeu era exatamente esta rotina que eu estava procurando.
Muito obrigado...

Abraços.


Leandro_SP9
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Qua Dez 09, 2015 5:31 pm

Re: Codigo VBA enviar e-mail em massa com anexos diferentes

Mensagem por Leandro_SP9 »

Oi gente, sou novo aqui e um usuário, mais curioso que profissional.
Tenho um macro que envia vários e-mail's para usuários diferentes, alterando o conteúdo do corpo do e-mail, ela pega a informação de uma planilha, com os dados em linha e joga para outra para criar uma visualização mais amigável, a macro roda a linha cria a imagem e joga para o outlook.
Ela roda normalmente se vou pelo F8 porém quando rodo ela pelo comando ela dá um erro "Erro em tempo de execução '440': Não há suporte no objeto para este método"
Quando depuro o erro aparece nessa linha:

.Item.To = Email

Já tentei troca a variável para busca o e-mail a ser enviado diretamente do campo e mesmo assim não rolou, queria saber se alguém tem alguma solução, segue abaixo o código completo

ActiveSheet.Range("a1:o54").Select ' é a área onde está a informação que quero
Sleep 1000 ' achei que o excel não tinha tempo suficiente para rodar, por isso dei uma pausa
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
Sleep 1000 ' achei que o excel não tinha tempo suficiente para rodar, por isso dei uma pausa
.Item.To = Email
'.Item.CC = Sheets("PLAN1").Range("b2")
.Item.Subject = "Medição Prática em Investimentos"
'.Item.Subject = "Mapeamento Certificação Personnalité"
.Item.Send
End With


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


canziani
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Seg Mai 22, 2017 11:51 am

Re: Codigo VBA enviar e-mail em massa com anexos diferentes

Mensagem por canziani »

Bom dia,

Será que alguém poderia me ajudar com uma rotina que estou tentando criar para enviar emails para diferentes pessoas com diferentes anexos??

Acontece que para o primeiro "i" ele consegue enviar o email porem para o i = 2 ele da erro na linha BIR = Worksheets("E-mail").Cells(i, 2)



Sub Macro5()

Dim OutlookApp As Object
Dim OutlookMail As Object
Dim contbir As Long
Dim i As Long
Dim BIR As Object
Dim rng As Object


With Worksheets("E-mail")

contbir = .Cells(.Rows.Count, "A").End(xlUp).Row

End With


For i = 1 To 3

BIR = Worksheets("E-mail").Cells(i, 2)

rng = Worksheets("E-mail").Cells(i, 3)

With OutlookMail

.To = BIR.Value
.CC = ""
.BCC = ""
.Subject = "Relatorio Emplacamento"
.Body = "Bom dia"
.Attachments.Add rng.Value

.Send ' para envia o email diretamente defina o código .Send
End With

Next

Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub


WendelSantos
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Sáb Dez 02, 2017 9:50 am

Re: Codigo VBA enviar e-mail em massa com anexos diferentes

Mensagem por WendelSantos »

Emerson Ribeiro escreveu: Qua Abr 22, 2015 8:48 pm Boa noite,

Valeu era exatamente esta rotina que eu estava procurando.
Muito obrigado...

Abraços.
Boa tarde amigo,
desculpe minha ignorância quanto ao caso, mas preciso saber como fez para anexar no e-mail dando a informação do caminho do arquivo na coluna C? Tenho uma planilha com essa mesma necessidade, coluna A com o nome, Coluna B com o e-mail e na coluna C informando o local do arquivo, ex: c:\boleta.pdf porém nas informações que achei o código attachments.add já tem o endereço do arquivo fixado no código vba.

Se poder me ajudar, ficarei muito grato.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder