Automatize a impressão de mais de 10.000 emails e seus anexos, incluindo o conteúdo de arquivos ZIP


10

Por alguma razão profana, sou obrigado a imprimir 10.500 emails E seus anexos (que acompanham cerca de 70% dos emails) no Outlook 2010 . Eu, como você, estou chocado com essa ineficiência ridícula e os 55.000 pedaços de papel que estimamos que isso custarão a nós e ao mundo. No entanto, isso acontecerá manualmente (o que estamos fazendo nos últimos dois dias) ou automaticamente (por favor, Deus nos ajude).

Eles precisam ser solicitados para que cada e-mail fique sobre o respectivo anexo e seja impresso cronologicamente. Portanto, o email 1, o anexo 1, o email 2, o anexo 2 etc. Os anexos podem vir no Powerpoint, Excel, Word Docs e o mais problemático de todos: arquivos zip.

Aqui está o que eu tentei até agora:

  1. No Outlook "Opções" -> "Opções de impressão" -> selecione Imprimir com anexos

  2. Convertendo todos os emails em um arquivo .eml e imprimindo da pasta

  3. Usando um complemento de email de terceiros (da Sperrysoftware) para converter todos os emails em PDFs e exportar para uma pasta. Pegue esta pasta e reordene-a por data e imprima os pdfs.

Eis por que nada disso funcionou até agora:

  1. A configuração Imprimir com anexos do Outlook raramente funciona para documentos com macros. Acima de tudo, ele não funciona com arquivos zip e apenas os repassa.

  2. Obviamente, os arquivos .eml não podem ser impressos ou lidos diretamente fora de um cliente de email. Na verdade, acho que esse ainda é o nosso esforço mais promissor, pois é de fato todo o arquivo de mensagens representado em um formato estável, separado e fora de um cliente de email - o que significa que eles são viáveis. Parece que não consigo encontrar um software de terceiros que efetivamente permita converter os emails E seus respectivos anexos compactados e formatados de maneira diversa em arquivos imprimíveis. Se você conhece um, também estamos dispostos a gastar mais de 200 Euros em software.

  3. Este software foi promissor no começo. Mas a macro é interrompida com frequência e também reconhece as assinaturas de email da empresa como anexos.

Se você puder oferecer algum conselho, isso seria de grande ajuda para nós. No momento, estamos abrindo todos os emails, seus respectivos anexos 3 a 4, e os imprimimos através do respectivo diálogo de impressão de cada anexo. Isso levará cinco de nós um mês, portanto, sua contribuição será muito valorizada!


4
Não vejo como essa é uma pergunta de recomendação de produto. Embora essa pergunta possa exigir a recomendação de software , ela especifica um problema a ser resolvido e não está solicitando especificamente um software.
precisa saber é o seguinte

2
De qualquer forma, sua pergunta está estruturada de maneira a evitar solicitar uma recomendação de software - e isso é bom, já que as perguntas sobre recomendação de software são fora de tópico para a maioria dos sites da rede Stack Exchange. Consulte o centro de ajuda para mais informações.
precisa saber é o seguinte

2
Eu estaria inclinado a mover todos os e-mails para um formato Maildir, depois fazer um script passar por cada um deles e imprimir o e-mail e os anexos. Você pode fazer com que alguém em um site freelance bata em algo por 200EUR
Paul

1
Detalhes. Por que isso é necessário?
ewwhite

1
Existe uma razão para ninguém aqui achar que o VBA pode fazer isso? Esses e-mails estão no seu servidor de troca?
Raystafarian

Respostas:


3

MsgExtract pode imprimir em lote mensagens de email de diferentes fontes de email e também converter formatos de email.

  1. Pode imprimir em lote os emails e seus anexos em ordem cronológica. Adicionamos na versão mais recente a capacidade de descompactar e imprimir anexos zip conforme sua exigência.
  2. Ele pode salvar o email do Outlook como arquivos EML
  3. Pode salvar o email do Outlook como arquivos PDF
  4. Ele pode baixar as imagens vinculadas na parte html da mensagem e incluí-las no formato resultante (arquivos PDF, impressora ...)

Para imprimir os anexos, o MsgExtract depende das associações de impressão do Shell do Windows, se não existir nenhuma associação para a extensão do arquivo de anexo, ela será ignorada.

Você pode saber mais sobre a impressão em lote MsgExtract em:

http://docs.maildev.com/article/122-how-do-i-batch-print-email-messages-and-its-attachments

(Isenção de responsabilidade, eu sou o autor de MsgExtract)


1
Embora suas respostas tenham sido relevantes, a maioria ou todas são de natureza promocional. É provável que sua conta seja suspensa . Se você deseja promover seus próprios produtos, considere comprar anúncios no Stack Exchange . Consulte também o centro de ajuda e meta.superuser.com/questions/2352/recommending-own-products
bwDraco

3
Tentei ser útil, fornecendo uma resposta relevante. O produto certamente pode ajudar o usuário4167750 a resolver sua tarefa de impressão. Não conheço outra opção existente além da programação personalizada, como sugerido por alguém. Eu deveria ter evitado postar sabendo que tenho uma solução relevante? De qualquer forma, já li a seção de autopromoção nas Perguntas frequentes e entendo que você está tentando evitar spam para manter a qualidade do site.
jponce

@ jponce, eu realmente aprecio sua resposta aqui. Parece que isso realmente poderia resolver nosso problema. De fato, podemos obter todos os emails em um arquivo .eml. No entanto, haverá mais dois (acredito que menores) problemas. Se você tiver alguma opinião sobre eles, isso aceleraria ainda mais o processo. 1) Nossas assinaturas estão aparecendo como anexos. Fizemos o download dos e-mails originais do Lotus Notes, o que causou isso após a importação para o Outlook. 2) Muitos de nossos arquivos do Excel são +15 folhas. Temos uma configuração de impressão especial para eles - poderei aplicar essa configuração de impressão a todos os xls?
user4167750

@ user4167750, sobre os problemas mencionados: 1) implementamos um filtro de anexos que pode remover e filtrar anexos pelo nome do arquivo. Se seus anexos de assinatura tiverem nomes consistentes nas mensagens, isso poderá resolver o problema. 2) Não tenho certeza se as configurações de impressão do Excel são persistentes. Para impressão, usamos a extensão de arquivo do anexo para encontrar uma associação de shell do Windows e, em seguida, iniciá-la passando o nome do arquivo do anexo como parâmetro.
jponce

0

Não tenho perspectivas para esta máquina e não terei acesso a uma máquina com janelas até a próxima semana. Mas basicamente, você quer fazer algo assim:

Sub test()
Dim oFolder As outlook.folder
Dim oAttachment As outlook.attachment
Dim oMailItem As outlook.mailitem
Dim oItem As Object

set oFolder = 'get the folder you want to print from

Dim i As Integer
Dim j As Integer

For i = 1 To oFolder.items.Count
    Set oMailItem = oFolder.items(i)
    oMailItem.PrintOut

    If oMailItem.attachments.Count > 0 Then
        For j = 1 To oMailItem.Attachments.Count
              'below you might need to change the attachment(j) to items(j)
            Set oAttachment = oMailItem.attachment(j)
            oAttachment.PrintOut
        Next
    End If

Next

End Sub

Então, ele percorre a pasta procurando e-mails, os imprime e verifica se há anexos e, se encontrado, os imprime também.

Eu não tenho perspectivas, como eu disse, então não posso testar isso.

Não use dados ao vivo!

Se eu fosse você, colocaria três e-mails da COPIED em uma nova pasta e testaria isso antes de tocar em quaisquer dados ao vivo. Pode ser necessário pesquisar comoset oFolder


Eu realmente aprecio o seu tempo nisso. Encontrei um código semelhante a este, mas ele tende a encobrir os arquivos zip (que são pelo menos 50% dos nossos anexos). Eu acho que o VBA talvez precise dar um passo adiante e invocar o C ++ em algum momento para acessar um agente de extração de zip. Além disso, acho que o WinZip pode ser um extrator muito complicado. Eu diria quais acho que podem funcionar para isso, mas acho que o moderador já está sensível aos aspectos promocionais de software deste post.
user4167750

Ainda pula arquivos .zip? Talvez seja uma configuração de todo o sistema ou um argumento que possa ser passado para o winzip via vba. O código apresenta erro ou simplesmente não imprime o arquivo .zip?
Raystafarian

Sim, acho que você está certo de que pode ser passado para o winzip, mas não tenho certeza se isso pode ser feito através do VBA. Penso que o problema é que, uma vez que o anexo (neste caso, arquivo zip) é aberto, ele é externo ou fora do escopo do script VBA do outlook. Vou continuar brincando com isso. Yay trabalho de fim de semana!
user4167750
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.