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

10

Por algum motivo obscuro, é exigido pelo trabalho que imprima 10.500 e-mails E seus anexos (que acompanham cerca de 70% dos e-mails) através do Outlook 2010 . Eu, como você, estou chocado com essa ineficiência tão ridícula e os 55 mil pedaços de papel que estimamos que isso vai custar a nós e ao mundo. No entanto, isso vai acontecer manualmente (o que temos feito nos últimos dois dias) ou automaticamente (por favor, Deus nos ajude).

Elas precisam ser solicitadas para que cada e-mail fique no topo de seu respectivo anexo e seja cronologicamente impresso. Então, email 1, anexo 1, email 2, anexo 2, etc. Os anexos podem vir em PowerPoint, Excel, Word Docs e mais problemáticos: arquivos zip.

Veja o que tentei até agora:

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

  2. Convertendo todas as mensagens em um arquivo .eml e imprimindo a partir da pasta

  3. Usando um complemento de email de terceiros (da Sperrysoftware) para converter todos os e-mails em PDFs e exportar para uma pasta. Tomando esta pasta e reordenando-a por data e imprimindo os pdfs.

Veja por que nada disso funcionou até agora:

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

  2. Obviamente, arquivos .eml não podem ser diretamente impressos ou lidos fora de um cliente de e-mail. Eu realmente acho que este ainda é o nosso esforço mais promissor, pois é de fato o arquivo de mensagens inteiro representado em um formato estável, separado e fora de um cliente de email - o que significa que eles são viáveis. Não consigo encontrar um software de terceiros que me permita efetivamente converter os e-mails E seus respectivos anexos compactados e formatados em arquivos imprimíveis. Se você souber de um, também estamos dispostos a gastar mais de 200 euros em software.

  3. Este software foi promissor no começo. Mas a macro quebra 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 e-mails, seus respectivos 3 a 4 anexos e imprimindo-os por meio do respectivo diálogo de impressão do anexo. Isso levará cinco de nós um mês, então sua contribuição será altamente valorizada!

    
por user4167750 22.10.2014 / 00:33

2 respostas

3

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

  1. Pode imprimir em lote os e-mails e seus anexos em ordem cronológica. Nós adicionamos na última versão a capacidade de descomprimir e imprimir anexos zip de acordo com sua exigência.
  2.     
  3. Pode guardar o email do Outlook como ficheiros EML
  4.     
  5. Pode guardar o email do Outlook como ficheiros PDF
  6.     
  7. Ele pode baixar as imagens que estão 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 nenhuma associação existir para a extensão do arquivo de anexo, ele será ignorado.

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

link

(Disclaimer, eu sou o autor de MsgExtract)

    
por 24.10.2014 / 00:00
0

Eu não tenho previsão para esta máquina e não terei acesso a uma máquina com Windows 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 passa pela pasta procurando por e-mails, os imprime e verifica se há anexos e, se encontrados, os imprime também.

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

Não vá em dados ao vivo!

Se eu fosse você, colocaria três e-mails COPIADOS em uma nova pasta e testaria isso antes de tocar em dados ao vivo. Talvez seja necessário pesquisar como set oFolder

    
por 23.10.2014 / 17:28