Notifications
Clear all

Enviar no corpodo email dados filtrados

2 Posts
1 Usuários
0 Reactions
868 Visualizações
 Dsis
(@dsis)
Posts: 0
New Member
Topic starter
 

Pessoal,boa tarde.

Todo dia o sistema com o qual trabalho gera uma planilha com algumas pendências em aberto.
Para facilitar o meu trabalho gostaria que me ajudassem com algum código que envie o email aos destinatários com os dados da planilha filtrados.

Eu utilizo o outlook também e já tentei enviar uma cópia da planilha com email me utilizando da integração, mas a depender do email ou da versão do outlook da pessoa que recebe, os dados não ficam filtrados.

 
Postado : 22/05/2018 1:14 pm
 Dsis
(@dsis)
Posts: 0
New Member
Topic starter
 

Encontrei um código que acho que posso adaptar,mas estou tendo um problema logo no inicio

Ele para bem na linha com erro de compilação

Public AppOutk As Outlook.Application

Public WrkB                As Workbook                      'Cria variavel da Pasta de Trabalho
Public WrkS                As Worksheet                     'Cria variavel da Planilha

Public IntervaloMailing    As Range                         'Cria Variavel com o Intervalo do Mailing
Public Celula              As Range                         'Cria Variavel com o registro do Mailing


[b]Public AppOutk As Outlook.Application[/b]                       'Cria Variavel com a Aplicacao do Outlook
Public MailOutk As Outlook.MailItem                          'Cria Variavel com o objeto "Email" do Outlook

Public Sub MandarEmail()

Set WrkB = ThisWorkbook                                      'Define a pasta de Trabalho
Set WrkS = WrkB.Sheets("Mailing")                            'Define a Planilha com os dados

Set IntervaloMailing = WrkS.Range("TabelaMailing")           'Define qual o intervalo do Mailing

With WrkS
    .Select
        For Each Celula In IntervaloMailing
            Call CriaEmail                                        'Chama a Rotina para Criar o Email
        Next
End With

End Sub

Sub CriaEmail()

Set AppOutk = New Outlook.Application                          'Define a aplicação do Outlook
Set MailOutk = AppOutk.CreateItem(olMailItem)                  'Define o objeto "Email" da Aplicação Outlook

With MailOutk
    .Display
    .To = WrkS.Cells(Celula.Row, 2).Value                   'Coluna Para
    .CC = WrkS.Cells(Celula.Row, 3).Value                   'Coluna Com Cópia
    .BCC = WrkS.Cells(Celula.Row, 4).Value                  'Coluna Copia Oculta
    .Subject = WrkS.Cells(Celula.Row, 5).Value              'Coluna Assunto
    .Body = Selection.SpecialCells(xlCellTypeVisible).Value 'Coluna Corpo do Email
    .Importance = olImportanceHigh
    .Send
End With

Set MailOutk = Nothing                                          'Esvazia a variavel
Set AppOutk = Nothing                                           'Esvazia a variavel


End Sub
 
Postado : 22/05/2018 1:58 pm