Автоматизируйте печать более 10 000 электронных писем и их вложений, включая содержимое ZIP-файлов.

10

По какой-то нечестивой причине я вынужден на работе распечатывать 10 500 электронных писем и их вложений (которые сопровождают около 70% электронных писем) через Outlook 2010 . Я, как и вы, потрясен такой нелепой неэффективностью, и, по нашим оценкам, 55 000 листов бумаги обойдутся нам и всему миру. Тем не менее, это произойдет либо вручную (чем мы занимались последние два дня), либо автоматически (пожалуйста, помогите нам).

Их необходимо заказывать так, чтобы каждое электронное письмо располагалось поверх соответствующего вложения и было напечатано в хронологическом порядке. Так что электронная почта 1, вложение 1, электронная почта 2, вложение 2 и т. Д. Вложения могут быть в Powerpoint, Excel, Word Docs, и самое неприятное из всех: zip-файлы.

Вот что я пробовал до сих пор:

  1. В Outlook «Параметры» -> «Параметры печати» -> Выберите «Печать с вложениями».

  2. Преобразование всей почты в файл .eml и печать из папки

  3. Использование стороннего почтового надстройки (от Sperrysoftware) для преобразования всех электронных писем в pdf и экспорта в папку. Взяв эту папку и переупорядочив ее по дате, распечатав PDF-файлы.

Вот почему ничего из этого не сработало:

  1. Параметр «Печать с вложениями» в Outlook редко работает с документами, в которых есть макросы. Прежде всего, он не работает с zip-файлами и просто передает их.

  2. Очевидно, что файлы .eml нельзя напрямую распечатать или прочитать вне почтового клиента. Я на самом деле думаю, что это все еще наше самое многообещающее усилие, поскольку это действительно весь почтовый файл, представленный в стабильном формате, отдельно и вне почтового клиента, то есть они работоспособны. Кажется, я не могу найти стороннее программное обеспечение, которое позволило бы мне эффективно конвертировать электронные письма и их соответствующие сжатые и отформатированные вложения в печатные файлы. Если вы знаете об этом, мы также готовы потратить более 200 евро на программное обеспечение.

  3. Сначала это программное обеспечение было многообещающим. Но макрос часто ломается, и он также распознает подписи электронной почты нашей компании как вложения.

Если вы можете предложить какой-либо совет, это очень помогло бы нам. В настоящее время мы открываем каждое электронное письмо с соответствующими 3-4 вложениями и распечатываем его через соответствующий диалог печати каждого вложения. Это займет у нас пятерых один месяц, поэтому ваш вклад будет высоко оценен!

user4167750
источник
4
Я не вижу, как это вопрос рекомендации продукта. Хотя этот вопрос может потребовать рекомендации программного обеспечения , он указывает на проблему, которая должна быть решена, и конкретно не требует какой-либо части программного обеспечения.
bwDraco
2
В любом случае ваш вопрос структурирован таким образом, чтобы не запрашивать рекомендации по программному обеспечению, и это хорошо, поскольку вопросы по рекомендациям по программному обеспечению не относятся к теме большинства сайтов в сети Stack Exchange. Смотрите справочный центр для получения дополнительной информации.
bwDraco
2
Я был бы склонен переместить все электронные письма в формат Maildir, а затем сделать так, чтобы скрипт просматривал каждое из них и распечатывал электронную почту и вложения. Вы можете найти кого-нибудь на внештатном сайте, чтобы он что-то подбросил за 200EUR
Пол
1
Подробности. Почему это требуется?
ewwhite
1
Есть ли причина, по которой никто не думает, что VBA может это сделать? Эти письма на вашем сервере обмена?
Raystafarian

Ответы:

3

MsgExtract может печатать сообщения электронной почты из разных источников, а также конвертировать форматы электронной почты.

  1. Он может распечатывать электронные письма и приложения в хронологическом порядке. В последней сборке мы добавили возможность распаковывать и распечатывать почтовые вложения в соответствии с вашими требованиями.
  2. Он может сохранить электронную почту Outlook в виде файлов EML
  3. Он может сохранить электронную почту Outlook в виде файлов PDF
  4. Он может загружать изображения, связанные в html-части сообщения, и включать их в получившийся формат (файлы PDF, принтер ...)

Для печати вложений MsgExtract использует сопоставления печати оболочки Windows, если сопоставление для расширения файла вложения не пропущено.

Вы можете узнать больше о пакетной печати MsgExtract на:

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

(Отказ от ответственности, я автор MsgExtract)

jponce
источник
1
Хотя ваши ответы были актуальны, большинство или все они носят рекламный характер. Это может привести к блокировке вашего аккаунта . Если вы хотите рекламировать свои собственные продукты, рассмотрите возможность покупки рекламы в Stack Exchange . См. Также справочный центр и meta.superuser.com/questions/2352/recommending-own-products
bwDraco
3
Я пытался быть полезным, предоставляя соответствующий ответ. Продукт, безусловно, может помочь пользователю4167750 решить его задачу печати, я не знаю ни одного другого существующего варианта, кроме пользовательского программирования, как кто-то предложил. Я должен был воздержаться от публикации, зная, что у меня есть соответствующее решение? В любом случае, я сейчас прочитал раздел саморекламы в FAQ и понял, что вы пытаетесь избежать спама, чтобы поддерживать качество сайта.
jponce
@jponce, я действительно ценю твой ответ здесь. Похоже, это действительно может решить нашу проблему. Мы действительно можем получить все электронные письма в файл .eml. Однако будут еще две (я считаю, незначительные) проблемы. Если у вас есть какой-либо вклад в них, это еще больше ускорит процесс. 1) Наши подписи появляются в виде вложений. Мы загрузили исходные сообщения электронной почты из Lotus Notes, в результате чего это произошло при их импорте в Outlook. 2) Многие из наших файлов Excel + 15 листов. У нас есть специальные настройки печати - смогу ли я применить эту настройку печати ко всем xls?
user4167750
@ user4167750, о проблемах, о которых вы упомянули: 1) мы внедрили фильтр вложений, который может удалять и фильтровать вложения по имени файла. Если ваши подписанные вложения имеют одинаковые имена в сообщениях, это может решить проблему. 2) Я не уверен, что настройки печати Excel сохраняются. Для печати мы используем расширение файла вложения, чтобы найти связь оболочки Windows, а затем запускаем его, передавая имя файла вложения в качестве параметра.
jponce
0

У меня нет перспективы на эту машину, и у меня не будет доступа к машине Windows с перспективой до следующей недели. Но в основном вы хотите сделать что-то вроде этого:

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

Таким образом, он просматривает папку для поиска электронных писем, распечатывает их, проверяет их на наличие вложений и, если они найдены, также печатает их.

У меня нет перспективы, как я уже сказал, поэтому я не могу это проверить.

Не используйте данные в реальном времени!

Если бы я был на вашем месте, я бы поместил три новые электронные письма в новую папку и проверил их, прежде чем касаться любых живых данных. Возможно, вам придется посмотреть, какset oFolder

Raystafarian
источник
Я очень ценю ваше время на это. Я нашел код, похожий на этот, но он имеет тенденцию затмевать почтовые файлы (которые составляют не менее 50% наших вложений). Я думаю, что VBA может потребоваться пойти еще дальше и вызвать C ++ в какой-то момент, чтобы получить доступ к агенту извлечения zip. Кроме того, я думаю, что WinZip может быть слишком громоздким извлекающим агентом. Я бы сказал, какие из них, по моему мнению, могут сработать для этого, но я думаю, что модератор уже неравнодушен к программным аспектам этой публикации.
user4167750
Это все еще пропускает .zip файлы? Может быть, это общесистемный параметр или аргумент, который можно передать в winzip через vba. Ошибка кода или просто не распечатать .zip?
Raystafarian
Да, я думаю, что вы правы, что его можно передать в winzip, но я не уверен, что это можно сделать через VBA. Я думаю, что проблема в том, что как только вложение (то есть zip-файл в данном случае) открывается, оно становится внешним или выходит за рамки сценария VBA outlook. Я буду продолжать играть с этим. Уй выходные работаю!
user4167750