Automatisez l'impression de plus de 10 000 e-mails et de leurs pièces jointes, y compris le contenu des fichiers ZIP

10

Pour une raison impie, je suis obligé par le travail d'imprimer 10 500 e-mails ET leurs pièces jointes (qui accompagnent environ 70% des e-mails) via Outlook 2010 . Comme vous, je suis consterné par une telle inefficacité ridicule et les 55 000 morceaux de papier que nous avons estimés que cela nous coûtera au monde entier. Néanmoins, cela va se produire soit manuellement (ce que nous faisons depuis deux jours) soit automatiquement (s'il vous plaît, dieu nous aide).

Ceux-ci doivent être commandés de sorte que chaque e-mail se trouve au-dessus de sa pièce jointe respective et soit imprimé chronologiquement. Donc, e-mail 1, pièce jointe 1, e-mail 2, pièce jointe 2, etc.

Voici ce que j'ai essayé jusqu'à présent:

  1. Dans Outlook "Options" -> "Options d'impression" -> Sélectionnez Imprimer avec les pièces jointes

  2. Conversion de tous les messages en un fichier .eml et impression à partir du dossier

  3. Utilisation d'un module complémentaire de messagerie tiers (par Sperrysoftware) pour convertir tous les e-mails en pdfs et exporter vers un dossier. Prendre ce dossier et le réorganiser par date et imprimer les fichiers PDF.

Voici pourquoi rien de tout cela n'a fonctionné jusqu'à présent:

  1. Le paramètre Imprimer avec pièces jointes d'Outlook fonctionne rarement pour les documents contenant des macros. Surtout, il ne fonctionne pas avec les fichiers zip et les transmet simplement.

  2. De toute évidence, les fichiers .eml ne peuvent pas être directement imprimés ou lus en dehors d'un client de messagerie. En fait, je pense que c'est toujours notre effort le plus prometteur, car il s'agit en fait de l'ensemble du fichier courrier représenté dans un format stable, séparé et en dehors d'un client de messagerie - ce qui signifie qu'il est réalisable. Je n'arrive pas à trouver un logiciel tiers qui me permettrait effectivement de convertir les e-mails ET leurs pièces jointes compressées et formatées respectives en fichiers imprimables. Si vous en connaissez un, nous sommes également prêts à dépenser plus de 200 euros en logiciels.

  3. Ce logiciel était prometteur au début. Mais la macro se casse fréquemment et elle reconnaît également les signatures électroniques de notre société comme pièces jointes.

Si vous pouvez offrir des conseils, cela nous serait d'une grande aide. Nous ouvrons actuellement chaque e-mail, ses 3 à 4 pièces jointes respectives, et les imprimons via la boîte de dialogue d'impression respective de chaque pièce jointe. Cela nous prendra cinq mois, donc votre contribution serait très appréciée!

user4167750
la source
4
Je ne vois pas en quoi c'est une question de recommandation de produit. Bien que cette question puisse nécessiter la recommandation d'un logiciel , elle spécifie un problème à résoudre et ne demande pas spécifiquement un logiciel.
bwDraco
2
Dans tous les cas, votre question est structurée de manière à éviter de demander une recommandation logicielle - et c'est bien, car les questions de recommandation logicielle sont hors sujet pour la plupart des sites du réseau Stack Exchange. Consultez le centre d'aide pour plus d'informations.
bwDraco
2
Je serais enclin à déplacer tous les e-mails au format Maildir, puis à faire passer un script par chacun et à imprimer l'e-mail et les pièces jointes. Vous pourriez demander à quelqu'un sur un site indépendant de monter quelque chose pour 200 EUR
Paul
1
Détails. Pourquoi est-ce nécessaire?
ewwhite
1
Y a-t-il une raison pour laquelle personne ici ne pense que VBA peut accomplir cela? Ces mails sont-ils sur votre serveur d'échange?
Raystafarian

Réponses:

3

MsgExtract peut imprimer des e-mails par lots à partir de différentes sources d'e-mails et également convertir des formats d'e-mails.

  1. Il peut imprimer par lots les e-mails et leurs pièces jointes dans l'ordre chronologique. Nous avons ajouté dans la dernière version la possibilité de décompresser et d'imprimer les pièces jointes zip selon vos besoins.
  2. Il peut enregistrer les e-mails Outlook en tant que fichiers EML
  3. Il peut enregistrer les e-mails Outlook sous forme de fichiers PDF
  4. Il peut télécharger les images liées dans la partie html du message et les inclure dans le format résultant (fichiers PDF, imprimante ...)

Pour imprimer les pièces jointes, MsgExtract s'appuie sur les associations d'impression Windows Shell, si aucune association n'existe pour l'extension de fichier de pièce jointe, elle est ignorée.

Vous pouvez en savoir plus sur l'impression par lots MsgExtract sur:

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

(Avertissement, je suis l'auteur de MsgExtract)

jponce
la source
1
Bien que vos réponses soient pertinentes, la plupart ou la totalité d'entre elles sont de nature promotionnelle. Cela entraînera probablement la suspension de votre compte . Si vous souhaitez promouvoir vos propres produits, pensez à acheter des annonces sur Stack Exchange . Voir également le centre d'aide et meta.superuser.com/questions/2352/recommending-own-products
bwDraco
3
J'ai essayé d'être utile en fournissant une réponse pertinente. Le produit peut sûrement aider user4167750 à résoudre sa tâche d'impression, je ne connais aucune autre option existante autre que la programmation personnalisée comme quelqu'un l'a suggéré. Dois-je m'abstenir de poster en sachant que j'ai une solution pertinente? Dans tous les cas, j'ai lu la section d'auto-promotion dans la FAQ et je comprends que vous essayez d'éviter le spam pour maintenir la qualité du site.
jponce
@jponce, j'apprécie vraiment votre réponse ici. Il semble que cela pourrait vraiment résoudre notre problème. Nous pouvons en effet récupérer tous les e-mails dans un fichier .eml. Il y aura cependant deux autres problèmes (je crois mineurs). Si vous avez une entrée sur eux, cela accélérerait encore le processus. 1) Nos signatures apparaissent en pièces jointes. Nous avons téléchargé les e-mails originaux de Lotus Notes, ce qui a provoqué ce problème lors de leur importation dans Outlook. 2) Beaucoup de nos fichiers Excel sont +15 feuilles. Nous avons un paramètre d'impression spécial pour eux - pourrais-je appliquer ce paramètre d'impression à tous les xls?
user4167750
@ user4167750, à propos des problèmes que vous mentionnez: 1) nous avons implémenté un filtre de pièces jointes qui peut supprimer et filtrer les pièces jointes par nom de fichier. Si vos pièces jointes de signature ont des noms cohérents dans les messages, cela pourrait résoudre le problème. 2) Je ne sais pas si les paramètres d'impression Excel sont persistants. Pour l'impression, nous utilisons l'extension de fichier de la pièce jointe pour trouver une association de shell Windows, puis la lançons en transmettant le nom de fichier de la pièce jointe comme paramètre.
jponce
0

Je n'ai pas de perspectives sur cette machine et je n'aurai accès à une machine Windows avec perspectives que la semaine prochaine. Mais en gros, vous voulez faire quelque chose comme ça:

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

Ainsi, il parcourt le dossier à la recherche d'e-mails, les imprime et vérifie les pièces jointes et, s'il est trouvé, les imprime également.

Je n'ai pas de perspectives, comme je l'ai dit, donc je ne peux pas tester cela.

N'allez pas sur les données en direct!

Si je devais vous, je mettrais comme trois e - mails dans un COPIES nouveau dossier et tester ceci sur eux avant de toucher des données en temps réel. Vous devrez peut-être rechercher commentset oFolder

Raystafarian
la source
J'apprécie vraiment votre temps. J'ai trouvé un code similaire à celui-ci, mais il a tendance à masquer les fichiers zip (qui représentent au moins 50% de nos pièces jointes). Je pense que le VBA devra peut-être aller plus loin et invoquer C ++ à un moment donné pour accéder à un agent d'extraction de zip. De plus, je pense que WinZip pourrait être un agent d'extraction trop lourd. Je dirais quels sont ceux qui, selon moi, pourraient fonctionner pour cela, mais je pense que le modérateur est déjà sensible aux aspects promotionnels du logiciel de ce message.
user4167750
Ignore-t-il toujours les fichiers .zip? C'est peut-être un paramètre à l'échelle du système ou un argument qui peut être transmis à winzip via vba. L'erreur de code sort-elle ou n'imprime-t-elle simplement pas le .zip?
Raystafarian
Oui, je pense que vous avez raison, il pourrait être transmis à Winzip, mais je ne sais pas si cela peut être fait via VBA. Je pense que le problème est qu'une fois la pièce jointe (c'est-à-dire le fichier zip dans ce cas) ouverte, elle est externe, ou en dehors de la portée, du script VBA d'Outlook. Je continuerai à jouer avec. Yay le travail du week-end!
user4167750