Em uma planilha salva como "Pasta de Trabalho Habilitada para Macro do Excel (*.xlsm)" tecle "Alt" + "F11" para abrir o "Microsoft Visual Basic for Applications".
Sub enviar_email()Set objeto_outlook = CreateObject("Outlook.Application")For linha = 3 To 10
Set Email = objeto_outlook.createitem(0)Email.displayEmail.To = Cells(linha, 12).ValueEmail.bcc = "copiaoculta@educacao.sp.gov.br"Email.Subject = "Assunto do e-mail."Email.Body = "Corpo do texto - Caro(a) Visitante(a)" & Chr(10) & "Neste exemplo, o PDF que deve ser anexado deverá estar na mesma pasta que contém o arquivo do Excel." & Chr(10) & "Um abraço."Email.Attachments.Add (ThisWorkbook.Path & "\" & Cells(linha, 11).Value & ".pdf")Email.send
NextEnd Sub
DICAS ANTES DE ENVIAR:
- Recomendo colocar comentários (utilize aspas simples para comentar 'isso é um comentário em VB) nas linhas "Email.send" e "Email.display" e executar o código (F5) para verificar se todos os anexos estão corretos (anexos devem estar na mesma pasta que o arquivo do excel .xlsm);
- Execute o código novamente para alguma linhas "For linha = 3 To 4" e deixe comentado apenas o "Email.send". Neste ponto verifique se o destinatário, assunto, corpo do texto e anexos estão corretos;
- Remova os comentários e abra o Outlook com a conta que enviará os e-mails, ou seja, com o "Outlook Aplicativo" aberto, volte na janela do "Microsoft Visual Basic for Applications" e clique em executar (F5).
Alguns comentários sobre o código:
- ThisWorkbook.Path = caminho onde o arquivo Excel se encontra;
- Chr(10) = quebra de linha;
- & = concatena o texto;
- Cells(x, y).Value = corresponde ao valor que consta na linha x e coluna y da planilha;
- Email.Attachments.Add(path) = path é o caminho completo do arquivo que será anexo. No exemplo o path foi "ThisWorkbook.Path & "\" & Cells(linha, 11).Value & ".pdf", ou seja, os nomes dos arquivos estão vindo da coluna 11 da planilha e estão na mesma pasta do arquivo do excel.
- Email.To = Cells(linha, 12).Value = Endereço de e-mail do destinatário. Aqui a variável linha vai de 3 até 10 (loop for) e os e-mails dos destinatários estão na coluna 12;
Para definir o e-mail padrão no Outlook:
- Clique em "Arquivo".
Top top em amigão, facilita e muito o trabalho!!!!
ResponderExcluirObrigado pelo retorno.
ExcluirEnviei 290 e-mails com anexos distintos em segundos... Tudo que dá certo eu compartilho aqui.
Um abraço.