Zautomatyzuj drukowanie ponad 10 000 wiadomości e-mail i ich załączników, w tym zawartości plików ZIP


10

Z jakiegoś niecnego powodu jestem zobowiązany do wydrukowania 10 500 e-maili ORAZ ich załączników (które towarzyszą około 70% e-maili) za pośrednictwem programu Outlook 2010 . Ja, podobnie jak ty, jestem przerażony tak absurdalną nieefektywnością, a 55 000 kawałków papieru, które oszacowaliśmy, będzie kosztowało nas i świat. Niemniej jednak stanie się to albo ręcznie (co robiliśmy przez ostatnie dwa dni), albo automatycznie (proszę, Boże, pomóż nam).

Należy je zamówić tak, aby każdy e-mail znajdował się nad odpowiednim załącznikiem i był chronologicznie wydrukowany. Tak więc e-mail 1, załącznik 1, e-mail 2, załącznik 2 itd. Załączniki mogą pochodzić z Powerpoint, Excel, Word Docs i najbardziej kłopotliwe ze wszystkich: pliki zip.

Oto, co próbowałem do tej pory:

  1. W programie Outlook „Opcje” -> „Opcje drukowania” -> Wybierz Drukuj z załącznikami

  2. Konwertowanie całej poczty na plik .eml i drukowanie z folderu

  3. Używanie zewnętrznego dodatku do poczty (firmy Sperrysoftware) do konwertowania wszystkich wiadomości e-mail na pliki pdf i eksportowania do folderu. Biorąc ten folder i zmieniając jego kolejność według daty i drukując pliki pdf.

Oto dlaczego żaden z nich do tej pory nie działał:

  1. Ustawienie Drukuj z załącznikami w programie Outlook rzadko działa w przypadku dokumentów zawierających makra. Przede wszystkim nie działa z plikami zip i po prostu je pomija.

  2. Oczywiście plików .eml nie można bezpośrednio wydrukować ani odczytać poza klientem poczty. Myślę, że jest to nadal nasz najbardziej obiecujący wysiłek, ponieważ jest to rzeczywiście cały plik poczty reprezentowany w stabilnym formacie, oddzielony i poza klientem poczty - co oznacza, że ​​są one wykonalne. Nie mogę znaleźć oprogramowania innej firmy, które skutecznie pozwoliłoby mi konwertować wiadomości e-mail ORAZ odpowiadające im skompresowane i różnie sformatowane załączniki na pliki do wydruku. Jeśli znasz jeden, jesteśmy gotowi wydać ponad 200 euro na oprogramowanie.

  3. To oprogramowanie na początku było obiecujące. Jednak makro często się psuje i rozpoznaje również podpisy e-mail naszej firmy jako załączniki.

Jeśli w ogóle możesz udzielić jakiejkolwiek porady, byłoby to dla nas ogromną pomocą. Obecnie otwieramy każdą wiadomość e-mail, odpowiadające jej 3–4 załączniki i drukujemy je za pośrednictwem odpowiedniego okna dialogowego drukowania każdego załącznika. Zajmie to pięciu z nas w ciągu miesiąca, więc Twój wkład byłby bardzo cenny!


4
Nie widzę, jak to jest pytanie dotyczące rekomendacji produktu. Chociaż pytanie to może wymagać rekomendacji oprogramowania , określa problem do rozwiązania i nie wymaga konkretnego oprogramowania.
bwDraco

2
W każdym razie twoje pytanie jest ustrukturyzowane w taki sposób, że unika się prośby o rekomendację oprogramowania - i to dobrze, ponieważ pytania dotyczące rekomendacji oprogramowania są nie na temat w przypadku większości witryn w sieci Stack Exchange. Więcej informacji znajdziesz w centrum pomocy .
bwDraco

2
Byłbym skłonny przenieść wszystkie wiadomości e-mail do formatu Maildir, a następnie przejść przez każdy skrypt i wydrukować wiadomość e-mail i załączniki. Możesz znaleźć kogoś na freelancerze, żeby podrzucił coś za 200EUR
Paul

1
Detale. Dlaczego jest to wymagane?
ewwhite

1
Czy istnieje powód, dla którego nikt nie uważa, że ​​VBA może to osiągnąć? Czy te maile są na twoim serwerze wymiany?
Raystafarian

Odpowiedzi:


3

MsgExtract może grupowo drukować wiadomości e-mail z różnych źródeł, a także konwertować formaty wiadomości.

  1. Może grupowo wydrukować wiadomości e-mail i załączniki w kolejności chronologicznej. W najnowszej wersji dodaliśmy możliwość dekompresji i drukowania załączników zip zgodnie z wymaganiami.
  2. Może zapisywać wiadomości e-mail programu Outlook jako pliki EML
  3. Może zapisywać wiadomości e-mail programu Outlook jako pliki PDF
  4. Może pobierać obrazy, które są połączone w części HTML wiadomości i dołączać je do wynikowego formatu (pliki PDF, drukarka ...)

Do drukowania załączników MsgExtract opiera się na powiązaniach drukowania powłoki Windows, jeśli nie istnieje powiązanie dla rozszerzenia pliku załącznika, jest ono pomijane.

Możesz dowiedzieć się więcej na temat drukowania partii MsgExtract pod adresem:

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

(Oświadczenie, jestem autorem MsgExtract)


1
Chociaż twoje odpowiedzi były trafne, większość lub wszystkie mają charakter promocyjny. Może to spowodować zawieszenie konta . Jeśli chcesz promować własne produkty, rozważ zakup reklam w Stack Exchange . Zobacz także Centrum pomocy i meta.superuser.com/questions/2352/recommending-own-products
bwDraco

3
Starałem się być pomocny, udzielając właściwej odpowiedzi. Produkt z pewnością może pomóc user4167750 rozwiązać jego zadanie drukowania, nie jestem świadomy żadnej innej istniejącej opcji oprócz programowania niestandardowego, jak ktoś sugerował. Czy powinienem powstrzymać się od publikowania wiadomości, wiedząc, że mam odpowiednie rozwiązanie? W każdym razie przeczytałem już sekcję autopromocji w FAQ i rozumiem, że starasz się unikać spamu, aby utrzymać jakość strony.
jponce

@jponce, naprawdę doceniam twoją odpowiedź tutaj. Wygląda na to, że naprawdę może rozwiązać nasz problem. Rzeczywiście możemy przenieść wszystkie e-maile do pliku .eml. Będą jednak dwa kolejne (uważam, że niewielkie) problemy. Jeśli masz na nich jakieś uwagi, przyspieszy to proces. 1) Nasze podpisy pojawiają się jako załączniki. Pobraliśmy oryginalne wiadomości e-mail z Lotus Notes, co spowodowało to po ich zaimportowaniu do programu Outlook. 2) Wiele naszych plików Excel ma +15 arkuszy. Mamy dla nich specjalne ustawienie drukowania - czy będę w stanie zastosować to ustawienie drukowania do wszystkich plików XLS?
user4167750,

@ user4167750, o problemach, o których wspominasz: 1) wdrożyliśmy filtr załączników, który może usuwać i filtrować załączniki według nazwy pliku. Jeśli załączniki podpisu mają spójne nazwy w wiadomościach, może to rozwiązać problem. 2) Nie jestem pewien, czy ustawienia drukowania programu Excel są trwałe. Do drukowania używamy rozszerzenia pliku załącznika, aby znaleźć powiązanie powłoki systemu Windows, a następnie uruchomić je, przekazując nazwę pliku załącznika jako parametr.
jponce

0

Nie mam perspektywy na tym komputerze i nie będę mieć dostępu do komputera z systemem Windows do następnego tygodnia. Ale w zasadzie chcesz zrobić coś takiego:

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

Tak więc przegląda folder w poszukiwaniu wiadomości e-mail, drukuje je i sprawdza, czy nie zawierają załączników, a jeśli je znaleziono, drukuje je również.

Nie mam perspektyw, jak powiedziałem, więc nie mogę tego przetestować.

Nie korzystaj z danych na żywo!

Gdybym był tobą, umieściłem jak trzy SKOPIOWANE e-maile w nowym folderze i przetestowałem to na nich przed dotknięciem jakichkolwiek danych na żywo. Może być konieczne sprawdzenie, jak to zrobićset oFolder


Naprawdę doceniam twój czas na to. Znalazłem kod podobny do tego, ale zwykle ma on połysk na plikach zip (które stanowią co najmniej 50% naszych załączników). Myślę, że VBA może wymagać pójścia o krok dalej i wywołania C ++ w pewnym momencie, aby uzyskać dostęp do agenta rozpakowywania zip. Co więcej, myślę, że WinZip może być zbyt uciążliwy dla agenta ekstrakcyjnego. Powiedziałbym, które z nich mogą do tego zadziałać, ale myślę, że moderator jest już drażliwy z programowymi aspektami promocyjnymi tego postu.
user4167750,

Czy nadal pomija pliki .zip? Być może jest to ustawienie systemowe lub argument, który można przekazać winzip przez vba. Czy kod się nie wyświetla lub po prostu nie drukuje .zip?
Raystafarian

Tak, myślę, że masz rację, że można go przekazać do winzip, ale nie jestem pewien, czy można to zrobić za pomocą VBA. Myślę, że problem polega na tym, że po otwarciu załącznika (w tym przypadku pliku zip) jest on zewnętrzny lub poza zakresem skryptu VBA programu outlook. Będę się z tym bawił. Praca w weekend!
user4167750,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.