Automatice la impresión de más de 10,000 correos electrónicos y sus archivos adjuntos, incluido el contenido de los archivos ZIP

10

Por alguna razón impía, el trabajo me exige imprimir 10,500 correos electrónicos Y sus archivos adjuntos (que acompañan a aproximadamente el 70% de los correos electrónicos) a través de Outlook 2010 . Yo, como usted, estoy horrorizado ante una ineficiencia tan ridícula y los 55,000 pedazos de papel que hemos estimado que esto nos costará a nosotros y al mundo. Sin embargo, va a suceder de forma manual (lo que hemos estado haciendo durante los últimos dos días) o automáticamente (por favor, que Dios nos ayude).

Estos deben ordenarse para que cada correo electrónico se encuentre encima de su archivo adjunto respectivo y se imprima cronológicamente. Por lo tanto, el correo electrónico 1, el archivo adjunto 1, el correo electrónico 2, el archivo adjunto 2, etc. Los archivos adjuntos pueden venir en Powerpoint, Excel, Word Docs y lo más problemático de todos: archivos zip.

Esto es lo que he intentado hasta ahora:

  1. En Outlook "Opciones" -> "Opciones de impresión" -> Seleccione Imprimir con archivos adjuntos

  2. Convertir todo el correo en un archivo .eml e imprimir desde la carpeta

  3. Uso de un complemento de correo de terceros (por Sperrysoftware) para convertir todos los correos electrónicos en archivos PDF y exportarlos a una carpeta. Tomar esta carpeta y reordenarla por fecha e imprimir los archivos PDF.

He aquí por qué nada de eso funcionó hasta ahora:

  1. La configuración Imprimir con archivos adjuntos de Outlook rara vez funciona para documentos con macros en ellos. Sobre todo, no funciona con archivos zip y solo los pasa.

  2. Obviamente, los archivos .eml no se pueden imprimir o leer directamente fuera de un cliente de correo. De hecho, creo que este sigue siendo nuestro esfuerzo más prometedor, ya que de hecho es el archivo de correo completo representado en un formato estable, separado y fuera de un cliente de correo, lo que significa que son viables. Parece que no puedo encontrar un software de terceros que me permita convertir efectivamente los correos electrónicos Y sus respectivos archivos adjuntos comprimidos y con distintos formatos en archivos imprimibles. Si conoce uno, también estamos dispuestos a gastar más de 200 euros en software.

  3. Este software fue prometedor al principio. Pero la macro se rompe con frecuencia y también reconoce las firmas de correo electrónico de nuestra empresa como archivos adjuntos.

Si puede ofrecer algún consejo, sería de gran ayuda para nosotros. Actualmente estamos abriendo cada correo electrónico, sus respectivos 3 a 4 archivos adjuntos, e imprimiéndolos a través del diálogo de impresión respectivo de cada archivo adjunto. Esto nos tomará a cinco de nosotros un mes, por lo que su aporte será muy valioso.

usuario4167750
fuente
44
No puedo ver cómo esta es una pregunta de recomendación de producto. Si bien esta pregunta puede requerir la recomendación de software , especifica un problema a resolver y no solicita específicamente una pieza de software.
bwDraco
2
En cualquier caso, su pregunta está estructurada de una manera que evita pedir una recomendación de software, y eso es bueno, ya que las preguntas de recomendación de software están fuera de tema para la mayoría de los sitios en la red de Stack Exchange. Consulte el centro de ayuda para obtener más información.
bwDraco
2
Me inclinaría a mover todos los correos electrónicos a un formato Maildir, luego hacer que un script revise cada uno e imprima el correo electrónico y los archivos adjuntos. Podrías conseguir a alguien en un sitio independiente para hacer algo por 200EUR
Paul
1
Detalles ¿Por qué se requiere esto?
ewwhite
1
¿Hay alguna razón por la que nadie aquí piense que VBA puede lograr esto? ¿Están estos correos en su servidor de intercambio?
Raystafarian

Respuestas:

3

MsgExtract puede imprimir por lotes mensajes de correo electrónico de diferentes fuentes de correo electrónico y también convertir formatos de correo electrónico.

  1. Puede imprimir por lotes los correos electrónicos y sus archivos adjuntos en orden cronológico. En la última versión, hemos agregado la capacidad de descomprimir e imprimir archivos adjuntos zip según sus necesidades.
  2. Puede guardar el correo electrónico de Outlook como archivos EML
  3. Puede guardar el correo electrónico de Outlook como archivos PDF
  4. Puede descargar las imágenes que están vinculadas en la parte html del mensaje e incluirlas en el formato resultante (archivos PDF, impresora ...)

Para imprimir los archivos adjuntos, MsgExtract se basa en las asociaciones de impresión de Windows Shell, si no existe ninguna asociación para la extensión del archivo adjunto, se omite.

Puede obtener más información sobre la impresión por lotes de MsgExtract en:

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

(Descargo de responsabilidad, soy el autor de MsgExtract)

jponce
fuente
1
Aunque sus respuestas han sido relevantes, la mayoría o todas son de naturaleza promocional. Es probable que esto haga que se suspenda su cuenta . Si desea promocionar sus propios productos, considere comprar anuncios en Stack Exchange . Consulte también el centro de ayuda y meta.superuser.com/questions/2352/recommending-own-products
bwDraco
3
He tratado de ser útil al proporcionar una respuesta relevante. El producto seguramente puede ayudar al usuario4167750 a resolver su tarea de impresión, no conozco ninguna otra opción existente que no sea la programación personalizada como alguien sugirió. ¿Debería haberme abstenido de publicar sabiendo que tengo una solución relevante? En cualquier caso, ahora he leído la sección de autopromoción en las preguntas frecuentes y entiendo que está tratando de evitar el spam para mantener la calidad del sitio.
jponce
@ jponce, realmente aprecio tu respuesta aquí. Parece que realmente podría resolver nuestro problema. De hecho, podemos obtener todos los correos electrónicos en un archivo .eml. Sin embargo, habrá otros dos problemas (creo que menores). Si tiene alguna entrada sobre ellos, esto aceleraría aún más el proceso. 1) Nuestras firmas aparecen como archivos adjuntos. Hemos descargado los correos electrónicos originales de Lotus Notes, lo que ha provocado que esto suceda al importarlos a Outlook. 2) Muchos de nuestros archivos de Excel son +15 hojas. Tenemos una configuración de impresión especial para ellos. ¿Podré aplicar esta configuración de impresión a todos los xls?
user4167750
@ user4167750, sobre los problemas que menciona: 1) hemos implementado un filtro de archivos adjuntos que puede eliminar y filtrar los archivos adjuntos por nombre de archivo. Si sus archivos adjuntos de firma tienen nombres consistentes en los mensajes, entonces podría resolver el problema. 2) No estoy seguro de si la configuración de impresión de Excel es persistente. Para imprimir utilizamos la extensión de archivo del archivo adjunto para encontrar una asociación de shell de Windows y luego la ejecutamos pasando el nombre del archivo del archivo adjunto como parámetro.
jponce
0

No tengo perspectiva en esta máquina y no tendré acceso a una máquina de Windows con perspectiva hasta la próxima semana. Pero básicamente, quieres hacer algo como esto:

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

Por lo tanto, revisa la carpeta en busca de correos electrónicos, los imprime y los comprueba en busca de archivos adjuntos y, si los encuentra, también los imprime.

No tengo perspectiva, como dije, así que no puedo probar esto.

¡No vayas con datos en vivo!

Si yo fuera usted, pondría como tres correos electrónicos COPIADOS en una nueva carpeta y probaría esto en ellos antes de tocar cualquier dato en vivo. Es posible que deba buscar cómoset oFolder

Raystafarian
fuente
Realmente aprecio tu tiempo en esto. He encontrado un código similar a este, pero tiende a pasar por alto los archivos zip (que son al menos el 50% de nuestros archivos adjuntos). Creo que el VBA podría tener que ir un paso más allá e invocar C ++ en algún momento para acceder a un agente de extracción zip. Además, creo que WinZip podría ser un agente extractor demasiado engorroso. Diría cuáles creo que podrían funcionar para esto, pero creo que el moderador ya está interesado en los aspectos promocionales del software de esta publicación.
user4167750
¿Todavía se saltea archivos .zip? Tal vez sea una configuración de todo el sistema o un argumento que se pueda pasar a winzip a través de vba. ¿Se produce un error de código o simplemente no imprime el .zip?
Raystafarian
Sí, creo que tienes razón en que podría pasar a winzip, pero no estoy seguro de si se puede hacer a través de VBA. Creo que el problema es que una vez que se abre el archivo adjunto (es decir, el archivo zip en este caso), es externo o está fuera del alcance del script VBA de Outlook. Seguiré jugando con eso. ¡Yay trabajo de fin de semana!
user4167750