Notifications
Clear all

Anexar arquivos pdf e enviar por e-mail individualmente

15 Posts
4 Usuários
0 Reactions
3,529 Visualizações
(@marianapd)
Posts: 48
Eminent Member
Topic starter
 

Ola Pessoal,

- Tenho vários arquivos salvos na rede em pdf com o nomes dos funcionários, exemplo: “declaração anual 2015 fulano sicrano”, “declaração anual 2015 adão da silva”, etc.
- tenho uma lista em excel com o nome completo e endereço de e-mail dos funcionários
- Meu programa para envio de e-mails é o Microsoft outlook 2013

Eu gostaria de criar uma base em que cada arquivo em pdf fosse anexado ao outlook e enviado por e-mail a cada funcionário, sendo que no e-mail haveria um texto padrão para todos. Podem me ajudar?

Obrigada!

 
Postado : 25/11/2015 3:39 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

marianapd,

Bom dia!

Veja se é assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 26/11/2015 7:57 am
(@marianapd)
Posts: 48
Eminent Member
Topic starter
 

oi Wagner,

Obrigada pela reposta, mas quando tentei fazer aqui, ele faz o envio para um só remetente, e na verdade terei um arquivo para cada funcionário, sendo assim meu excel tem uam coluna com os endereços de e-mail e outra com o nome dos arquivos. Tentei configurar na macro para puxar as informações da planilha, mas não deu certo, você pode me ajudar de novo?

Muito obrigada!
Mariana

 
Postado : 03/12/2015 1:48 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Anexe um modelo reduzido do seu arquivo, coloque alguns dados ficiticios, assim fica mais fácil ajudar, pois não sabemos como estão dispostos os dados em seu arquivo.

Se pesquisar no forum por anexar, enviar email pdf, encontrara varios links de tópicos resolvido, e acredito que alguns deles lhe ajudarão.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/12/2015 1:55 pm
(@marianapd)
Posts: 48
Eminent Member
Topic starter
 

Oi Mauro!

Obrigada por sua resposta! Utilizei o modelo que você me enviou para construir a base, o código ficou perfeito para entender. Na coluna "B" ficarão cerca de 300 endereços de e-mail, e na coluna "J" ficará o nome dos arquivos como estão na rede, serão gerados com o nome de cada funcionario.

Obrigada!
Mariana

 
Postado : 03/12/2015 2:09 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

marianapd,

Boa Noite!

Estava examinando o arquivo que você anexou por último e, na verdade, o que você necessita é nem mais simples do que o que eu havia imaginado no começo quando te enviei aqueles dois arquivos.

Aquele que eu enviei serve para quando se tem uma grande base com dados de clientes agrupados em locais diferentes que precisam ser separados por esses locais em cada arquivo e enviados separadamente, um a um para seu respectivo local.

Desse modo, peguei esse arquivo que você enviou e o adaptei à sua necessidade: enviar arquivos PDF que estejam no caminho da rede que está escrito na célula H1, cujos nomes dos arquivos estão relacionados na coluna J e cujos destinatários estão relacionados na coluna B da aba Envios.

Da forma que fiz, serão enviados todos os email's para os destinatários que estiverem relacionados na coluna B. Não importa a quantidade de endereços que lá estejam ou que sejam acrescentados. O código sempre vai pegar do primeiro (que começa na linha 3) até o último endereço que estiver registrado na coluna B.

Veja se assim lhe atende.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/12/2015 4:13 pm
(@marianapd)
Posts: 48
Eminent Member
Topic starter
 

Oi Wagner, obrigada pela resposta!!!

Eu testei o arquivo, mas ainda ficou um probleminha....todos os arquivos da coluna "J" estão sendo anexados a um só corpo de e-mail e apenas a um endereço da coluna "b". Na verdade eu tenho 200 arquivos para 200 endereços de e-mail diferentes, portanto deveriam ser geradas 200 mensagens, será que fiz alguma coisa errada?

Obrigada!

 
Postado : 09/12/2015 7:58 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

marianapd ,

Bom dia!

Impossível! Você

todos os arquivos da coluna "J" estão sendo anexados a um só corpo de e-mail e apenas a um endereço da coluna "b".

! Veja; Coloquei o código que captura os endereços de email (coluna B) e os arquivos a serem anexados (coluna J) de ntro do laço For abaixo:

    'Laço para pegar cada um dos destinatários da coluna B, começando na linha 3
    For i = 3 To UltimaLinha
         
         'Para quem vai a mensagem...
         EMail.To = Range("B" & i).Value
         
         'Se for enviar com cópia
         'EMail.Cc = "xxx.xxx@bcg.com"
         
         'Arquivos a serem anexados
         EMail.Attachments.Add Range("H1").Value & "" & Range("J" & i).Value
             
         
         'Para ver a mensagem use Disply. Para enviar direto sem ver, use Send
         EMail.Display
    Next

Esse laço vai varrer toda a planilha, linha a linha, e a cada vez que houver uma iteração do laço (processador passar pela variável "i"), ele vai buscar um endereço da coluna B, um anexo na coluna J e vai enviar o respectivo e-mail.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/12/2015 9:26 am
(@marianapd)
Posts: 48
Eminent Member
Topic starter
 

Oi Wagner! Desculpe insistir. Eu apertei o botao novamente, e até printei a tela para te mostrar aqui (veja o anexo)o que está acontecendo, os 2 anexos vão para o endereço de e-mail que está na última célula preenchida da coluna 'B", ele não considera o endereço das linhas acima, somente o da última célula.

Obrigada e um abraço!
Mariana

 
Postado : 09/12/2015 11:26 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Então, só tem um jeito de poder lhe ajudar: anexe seu arquivo original com o código que lhe passei. Você pode, se quiser, descaracterizar dados confidenciais.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/12/2015 5:32 pm
(@marianapd)
Posts: 48
Eminent Member
Topic starter
 

Oi Wagner, claro, segue meu arquivo, so alterei os dados confidenciais e coloquei exemplos.

Obrigada!

 
Postado : 10/12/2015 8:38 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

marianapd,

Bom dia!

Havia alguns erros com relação ao posicionamento correto de algumas linhas de comando (que eu mesmo havia colocado equivocadamente em locais indevidos) e havia um problema mais sério que você não observou nos comentário que eu havia colocado.

Na linha onde eu coloquei o comando "Display" eu havia colocado um comentário que esse comando era apenas para visualizar o email antes de enviá-lo. Para enviar diretamente as mensagens você precisaria trocá-lo por Send. Quando fui testar aqui, observei que o Outlook, quando utilizamos o comando Display, ele simplesmente pega a mensagem que está já aberta e sai anexando todos os arquivos na mesma mensagem. Bom... deve ser um bug do Outlook. Ou não! Ele entende que como há uma mensagem aberta que se deseja anexar outros arquivos!

Mas agora testei novamente e seu arquivo agora está todo corrigido. ATENÇÃO: O comando de envio de email agora foi alterado para SEND. Isso significa que as mensagens serão disparadas automaticamente sem qualquer intervenção do usuário. Se você pretende testar antes, coloque seu email correto nas 5 primeiras linhas da planilha, por exemplo, e acione o comando. Lhe serão enviados 5 mensagens com anexos diferentes.

Desse modo, quando estiver com todo o testo da mensagem correto e não houver mais nada a ajustar, coloque todos os endereços corretos na coluna A e acione o botão para disparar todas as mensagens.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 11/12/2015 8:14 am
(@marianapd)
Posts: 48
Eminent Member
Topic starter
 

Funcionou!
Agora, outras duas perguntas: na hora de enviar o e-mail, tem como incluir o primeiro nome de cada pessoa no corpo de cada e-mail enviado (personalizado?)

E Tem como incluir a assinatura do meu e-mail no corpo de cada mensagem enviada?

obrigada!

 
Postado : 14/12/2015 9:42 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

OK.

Para inserir o nome personalizado de cada pessoa em cada uma das mensagens, você cria mais uma coluna na sua planilha para que a macro pegue, nessa coluna, o nome da pessoa (a exemplo do que já faz com o endereço de email e com o arquivo a ser enviado). Veja que criei isso na coluna K.

Para inserir a Assinatura, a mesma deve estar no texto da mensagem, conforme exemplo anexo.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 14/12/2015 11:51 am
(@fazerbem)
Posts: 697
Honorable Member
 

Olá Wagner Moriel, desculpe postar aqui, mas usei sua planilha e fiz uma adaptacao, ao qual coloquei em outro post, poderia me auxiliar, num pequeno detalhe ?

viewtopic.php?f=10&t=20467

Grato

Andre

 
Postado : 24/05/2016 10:56 am