Extrair Informações de Emails do Outlook

Esta página possui uma pasta de trabalho que faz buscas em e-mails recebidos do Outlook e extrai informações do e-mail e/ou corpo do e-mail usando ferramentas de busca nativas do Outlook e Expressões Regulares.

Introdução

Suponha que você queria vender cursos e, através de um formulário de contato, dispare um e-mail para várias pessoas da seguinte forma:

Para fazer uma mala direta pelo VBA e Excel, veja este artigo.

Seu cliente irá preencher as informações no corpo do e-mail. De resposta, poderá receber um e-mail como mostrado abaixo:

Ou até mesmo assim:

Agora você deseja preencher uma tabela com o resultado de todos que responderam o seu e-mail. O resultado final pode ser algo como mostrado abaixo:

Fazer isso manualmente, abrindo e-mail por e-mail, pode ser moroso. Esta página possui uma ferramenta que faz esse processo de extração automaticamente.

Para usar esta ferramenta, certifique-se que você possua instalado o Microsoft Outlook.

Configurações

Na tabela de resultado mostrada anteriormente, veja que temos colunas de naturezas diferentes:

  • SenderEmailAddress, Subject e SentOn são propriedades do e-mail.
  • Nome, Telefone, Data de Nascimento e Quantidade de Apostilas são campos presentes no corpo do e-mail.

Você pode ir na planilha Configurações para ajustar cada um desses campos. Após configurar como quiser, clique em Gerar Tabela para gerar uma tabela com as colunas desejadas:

A seguir, uma explicação sobre como configurar esses campos e também como filtrar sua busca pelos seus e-mails.

Campos do Corpo do Email

Nessa tabela, você lista os campos que o corpo do seu e-mail possui, define o tipo de dados e a regra de extração do campo. Note que é necessário conhecer expressões regulares para fazer configurações avançadas de extração.

Numa breve explicação, essa regra funciona para o campo Nome da seguinte forma:

  • O que será preenchido em uma célula é o que está entre parênteses.
  • .+, que é o que está entre parênteses, significa que o campo possuirá zero ou infinitos caracteres.
  • Veja que após .+[^\n]. Corrigindo a regra acima, a nova regra retornará zero ou infinitos caracteres até encontrar uma quebra de linha.
  • O início dessa expressão possui Nome:. Logo, para o campo Nome, a regra irá retornar todos os caracteres que estejam entre Nome: e uma quebra de linha.

Propriedades do Email

Os campos escolhidos foram:

  • SenderEmailAddress: Endereço do remetente.
  • Subject: Assunto do e-mail.
  • SentOn: Datahora de envio do e-mail.

Há uma lista grande de propriedades do e-mail que podem ser exploradas. Veja o link em: https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.mailitem_properties.aspx?f=255&MSPPError=-2147217396

Filtros de Busca

Internamente, o Outlook pode fazer consultas Sql numa tabela de e-mails armazenados para retornar com maior eficiência o resultado de um filtro. Use essa tabela para filtrar os e-mails como desejado. Você pode inserir e apagar linhas à vontade.

  • Para o campo Lido, 1 significa que o e-mail está lido e 0 não lido.
  • Especifique com uma precisão até de minutos no campo Data de Recebimento. Devido a uma limitação do Outlook, ao especificar segundos, poderá ter um resultado de busca incorreto.
  • Apague uma linha para remover uma condição. Por exemplo, ao apagar a linha De, todos os remetentes serão considerados na busca.

Lista

Na planilha Lista, clique em Alterar Pasta para mudar o caminho de pesquisa da ferramenta ou em Atualizar para fazer uma busca:

Download

Para baixar esta pasta de trabalho, clique aqui.

Sobre Felipe Gualberto

Microsoft Most Valuable Professional (MVP) de Excel.
Esta entrada foi publicada em Ferramentas e marcada com a tag , , , , . Adicione o link permanente aos seus favoritos.