Notifications
Clear all

Copiar conteúdo do Outlook para Excel

4 Posts
2 Usuários
0 Reactions
996 Visualizações
(@fiinguer)
Posts: 0
New Member
Topic starter
 

Bom dia pessoal,

Preciso muito da ajuda de vocês.
Tentei achar um VBA mas não encontrei, e o que encontrei não entendi para poder alterar hahaha

Gostaria de um VBA para copiar 4 coisas num corpo de e-mail. Elas são: CNPJ, E-mail, Telefone e Nome da pessoa (Sendo o CNPJ e E-mail mais importante e mais fácil diria eu)

Preciso muito da ajuda de vocês, pois são muitos e-mails.

Obrigado!

 
Postado : 05/06/2018 7:27 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Fiinguer,

Boa tarde!

Veja se o conteúdo do link abaixo pode lhe ajudar. Fiz alguns testes aqui e vi que funciona corretamente. Você pode trazer para o Excel tudo que você quiser, inclusive os textos contidos no corpos dos email. Depois de estar dentro do Excel, obviamente você precisará fazer os devidos tratamentos para ficar apenas com os campos que você precisa.
http://douglasgodoy.com.br/carregar-e-m ... -como-vba/

 
Postado : 05/06/2018 11:56 am
(@fiinguer)
Posts: 0
New Member
Topic starter
 

Valeu pela dica! Porém esse código ta dando erro da coluna "G" para frente! Não consigo encontrar o erro.. pode me ajudar?

 
Postado : 08/06/2018 6:58 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Fiinguer,

Boa noite!
Peço, por gentileza, não utilizar citações de inteiro teor das mensagens que lhe são enviadas em suas respostas. Citações, quando estritamente necessárias ao entendimento das mensagens que você quer enviar, pelo seu interlocutor, devem restringir-se a pequenos trechos apenas.

No próprio link que lhe passei, nos comentários, o autor do código responde a um usuário sobre essa mesma dúvida sua. Basta declarar a variável que não está declarada.

Veja abaixo, código completo sem erro e após teste que fiz.

Sub Emails_Outlook()
    '=========================================================================
    'Código Desenvolvido por Douglas Godoy em 2013 para resposta de usuário _
    no fórum Clube do Hardware
    'Trás todos os dados de mensagens do Outlook para o Excel
    '=========================================================================

    'Carregar e-mails do outlook para o excel
    Dim appOutlook As Object
    Dim olNS As Object
    Dim olFolder As Object
    Dim olItem As Object
    Dim r As Long
    Dim olMail As Object
    
    On Error Resume Next
    Set appOutlook = GetObject(, "Outlook.Application")
    
    If appOutlook Is Nothing Then
        Set appOutlook = CreateObject("Outlook.Application")
    End If
    
    Set olMail = appOutlook.CreateItem(0)
    
    On Error GoTo 0
    Set olNS = appOutlook.GetNamespace("MAPI")
    'Abaixo preencha o nome do arquivo de dados PST e a pasta.
    'Neste caso o arquivo é Douglas Godoy e a pasta Caixa de Entrada.
    
    Set olFolder = olNS.Folders("Pastas Particulares").Folders("Caixa de Entrada")
    
    Cells.Delete
    r = 3
    'Cria um array montando o título das colunas no arquivo.
    Range("A3:K3") = Array("Título", "Quem enviou", "Para", "Data e Hora", "Anexos", "Tamanho", "Última modificação", "Categoria", "Nome do Remetente", "Tipo de acompanhamento", "Conteúdo")
    
    For Each olItem In olFolder.Items
        If TypeName(olItem) = "MailItem" Then
            r = r + 1
            Cells(r, "A") = olItem.Subject 'Assunto do e-mail
            Cells(r, "B") = olItem.SenderEmailAddress 'E-mail do remetente
            Cells(r, "C") = olItem.To 'E-mail do destinatário
            Cells(r, "D") = olItem.ReceivedTime 'Data/Hora de recebimento
            Cells(r, "E") = olItem.Attachments.Count 'Número de anexos
            Cells(r, "F") = olItem.Size 'Tamanho da mensagem em bytes
            Cells(r, "G") = olMail.LastModificationTime 'Última modificação
            Cells(r, "H") = olMail.Categories 'Categoria
            Cells(r, "I") = olMail.SenderName 'Nome do remetente
            Cells(r, "J") = olMail.FlagRequest 'Acompanhamento
            'Cells(r, "K") = olItem.Body 'Tome cuidado ao utilizar pois carrega os dados do corpo do email
            Application.StatusBar = r
        End If
    Next olItem
    Columns.AutoFit
End Sub
 
Postado : 08/06/2018 4:02 pm