Página 1 de 1

Envio automatico com anexos diferentes

Enviado: 29 Mai 2020 às 12:02
por RicardoSA
Olá pessoal,
tudo certo ?

Podem me dar uma ajuda por favor?

Conforme o arquivo em anexo, gostaria de enviar 1 e-mail para cada destinatário, cada um com diferentes anexos.

Colunas ->
A: Cod Repres
B: Nome Repres
C: Email
D: Assunto do email
E: Corpo do email
F: Caminho do anexo


Já possuo o seguinte código criado, que criei através de pesquisas aqui e em outros sites.
Código: Selecionar todos
Sub EnviarEmail()

'Declarar
Dim OutlookApp As Outlook.Application
Dim EmailItem As Outlook.MailItem

'Instanciar
Set OutlookApp = New Outlook.Application
Set EmailItem = OutlookApp.CreateItem(olMailItem)

'Definir
With EmailItem
    
    .To = ActiveSheet.Cells(2, 3)
    .Subject = ActiveSheet.Cells(2, 4)
    .Body = ActiveSheet.Cells(2, 5)
    [color=#FF0000].Attachments.Add = ActiveSheet.Cells(2, 6).Value[/color]
    '.Attachments.Add = \\FS01\inteligencia mercado\novo relatorio de itens vendidos\final\teste salvando varios arquivos\28.xlsx
    
    

            
    '.Display    'Para mostrar ao inves de enviar
    .Send       'Para enviar direto
End With

'Limpar
Set EmailItem = Nothing
OutlookApp.Quit             'Deixar caso voce envie o email direto, caso contrario apagar
Set OutlookApp = Nothing




End Sub
Ele tem me dado diferentes tipos de erro, dependendo de como eu tenho escrever a linha para adicionar os anexos.

Para mim seria bom que eu conseguisse puxar as informações/caminho do arquivo pelas células, pois isso pode mudar no futuro (não sei se é possível utilizar algum tipo de "activeworkbook.path" para o mesmo resultado)

Fico no aguardo,

Att,
Ricardo

Envio automatico com anexos diferentes

Enviado: 29 Mai 2020 às 12:22
por AfonsoMira
Boas não consigo verificar aqui se a macro roda, pois não tenho acesso ao outlook infelizmente.

Deixo uma macro que me ajudou, já adaptada para a sua Planilha.

Caso de algum erro favor indicar, pois como disse não tenho acesso para testar aqui.

Obrigado.

Segue macro:
Código: Selecionar todos
Sub Envia_Email_CAnexo()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim ws As Worksheet: Set ws = Sheets("Planilha1")
    Dim enviad As String
    enviad = 0
    'Path do anexo ao email a ser enviado
    Set Rng = ws.Range(Range("F3"), ws.Range("F" & Rows.Count).End(xlUp))
    For Each cell In Rng
        rw = cell.Row
        Path = cell.Value
        If Path <> "" Then
            ' endereco de Email
            ToNome = Cells(rw, 3).Value
                    AttachFile = Path
                    MailBody = Cells(rw, 5).Value
                    Set OutApp = CreateObject("Outlook.Application")
                    Set OutMail = OutApp.CreateItem(o)
                    With OutMail
                        .Subject = Cells(rw, 4).Value
                        .To = ToNome
                        .Body = MailBody
                        .Attachments.Add (AttachFile)
                        '.Display
                        .Send
                        enviad = enviad + 1
                    End With
                    Set OutMail = Nothing
                    Set OutApp = Nothing
                    RecpList = ""
                End If
    Next
    If enviad = 0 Then
    MsgBox "Nenhum email enviado", 64, "AVISO"
    Else
    MsgBox enviad & " enviados da sua lista de emails!", 0, "SUCESSO"
    End If
End Sub

Envio automatico com anexos diferentes

Enviado: 29 Mai 2020 às 14:48
por RicardoSA
Boa tarde,

Rapaz, entendi quase nada da sua macro pq ela está escrita de uma maneira um pouco diferente do que eu estou acostumado a ler!
Porém, ela funcionou aqui nos meus testes com e-mails internos.

Único detalhe é que tive que mudar o Range de F3 para F2 (imagino só que tenha sido um erro de digitação)
pois é na segunda linha que começam as minhas informações.

Percebi que se deixasse o Range F3 ele começava no meu segundo representante e não no primeiro

É isso mesmo ou teria algum outro detalhe que eu desconheço?


Att,
Ricardo

Envio automatico com anexos diferentes

Enviado: 02 Jun 2020 às 07:49
por AfonsoMira
Boas desde já peço desculpa pela demora da respostas.

Sim Ricardo, foi mesmo um erro meu de digitação alterando o F3 para F2 ele irá apanahar todos os representantes.

Peço que se resolvi o seu problema, por favor de o tópico como resolvido.

Obrigado. :D