10

For some unholy reason I am required by work to print out 10,500 e-mails AND their attachments (which accompany about 70% of the e-mails) through Outlook 2010. I, like you, am appalled at such ridiculous inefficiency and the 55,000 pieces of paper we have estimated this will cost us and the world. Nevertheless, it's going to happen either manually (what we've been doing for the past two days) or automatically (please god help us).

These need to be ordered so that each e-mail sits on top of its respective attachment and is chronologically printed. So email 1, attachment 1, email 2, attachment 2, etc. The attachments can come in Powerpoint, Excel, Word Docs, and most troublesome of all: zip files.

Here's what I have tried so far:

  1. In Outlook "Options" --> "Print Options" --> Select Print with Attachments

  2. Converting all mail into a .eml file and printing from the folder

  3. Using a third party mail add-on (by Sperrysoftware) to convert all e-mails into pdfs and export to a folder. Taking this folder and reordering it by date and printing out the pdfs.

Here's why none of it worked so far:

  1. Outlook's Print with Attachments setting rarely works for documents with macros in them. Above all, it doesn't work with zip files and just passes these over.

  2. Obviously .eml files can't directly be printed or read outside a mail client. I actually think this is still our most promising effort as it is indeed the entire mail file represented in a stable format, separated, and outside a mail client--meaning they are workable. I can't seem to find a third-party software that would effectively let me convert the e-mails AND their respective compressed and variously formatted attachments into printable files. If you know of one, we are also willing to spend in excess of a 200 Euro on software.

  3. This software was promising at first. But the macro breaks frequently and it also recognizes our company's e-mail signatures as attachments.

If you can offer any advice at all this would be of huge help to us. We're currently opening every e-mail, its respective 3 - 4 attachments, and printing them via each attachment's respective printing dialogue. This will take five of us one month, so your input would be highly valued!

bwDraco
  • 45,747
  • 43
  • 165
  • 205
user4167750
  • 111
  • 1
  • 4
  • 4
    I can't see how this is a product recommendation question. While this question [may require recommending software](http://meta.superuser.com/questions/5372), it specifies a problem to be solved, and is not specifically asking for a piece of software. – bwDraco Oct 21 '14 at 22:43
  • As I think I've exhausted most of the options internal to Outlook 2010, I think this is potentially the only way. Specifically with the already attempted solutions numbers 2, and 3. Perhaps I should reiterate that I am definitely willing to pay for external mail clients/software/conversion tools to do this. And secondly, that I have found external software the most promising. – user4167750 Oct 21 '14 at 22:51
  • 2
    In any case, your question is structured in a manner that avoids asking for a software recommendation—and that's good, since software recommendation questions are off-topic for most sites on the Stack Exchange network. See the [help/dont-ask] for more information. – bwDraco Oct 21 '14 at 22:52
  • Sorry, I'm new here! If it's any consolation the software didn't work and I certainly didn't enjoy typing the name... – user4167750 Oct 21 '14 at 22:55
  • 2
    I would be inclined to move all the emails to a Maildir format, then have a script go through each one and print the email and attachments. You could get someone on a freelance site to knock something up for 200EUR – Paul Oct 21 '14 at 23:57
  • Any recommendations which freelance site or how to find a developer? I was so sure this problem could be solved internally with Outlook tools. – user4167750 Oct 22 '14 at 04:35
  • Surely someone has wanted to print out an entire folder of 100 emails and their corresponding attachments in a couple of clicks. But this seems limited (using attempt #1 above) to a single Word Doc attachment... Erg, guess that's goodbye November! – user4167750 Oct 22 '14 at 04:37
  • 1
    Details. Why is this required? – ewwhite Oct 22 '14 at 07:16
  • Do you have interns? – tombull89 Oct 22 '14 at 08:12
  • 1
    Is there a reason nobody here thinks VBA can accomplish this? Are these mails on your exchange server? – Raystafarian Oct 22 '14 at 18:45
  • ewwhite: We have to do it for corporate compliance reasons in the country in which I work. tombull89: Yes we have two interns plus three full-timers on this. Still, this is a lot of man hours that can be devoted elsewhere. @Raystafarian: I think this is the way to go. Any idea where I can find some pre-written macros? This http://pastebin.com/juEPKaNW is the closest I've seen so far, but would require some extensive editing... unless you know of a way to print directly from .msg or to accurately convert the file into PDFs? Thanks for all your comments guys! – user4167750 Oct 22 '14 at 18:55
  • Also, yes these e-mails are located on an exchange server, and are also in a hardcopy format on our team's file server. In the latter, their format is a .eml. – user4167750 Oct 22 '14 at 19:08

2 Answers2

3

MsgExtract can batch print email messages from different email sources and also convert email formats.

  1. It can batch print the emails and its attachments in chronological order. We have added in the latest build the ability to decompress and print zip attachments as per your requirement.
  2. It can save Outlook email as EML files
  3. It can save Outlook email as PDF files
  4. It can download the images that are linked in the html part of the message and include them in the resulting format (PDF files, printer...)

For printing the attachments MsgExtract relies on the Windows Shell print associations, if no association exists for the attachment file extension it is skipped.

You can learn more about MsgExtract batch printing at:

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

(Disclaimer, I am the author of MsgExtract)

jponce
  • 619
  • 4
  • 2
  • 1
    Although your answers have been relevant, most or all of them are promotional in nature. This is likely to result in [your account being suspended](http://blog.stackoverflow.com/2009/04/a-day-in-the-penalty-box/). If you'd like to promote your own products, please consider [purchasing ads on Stack Exchange](http://stackexchange.com/about/contact). See also the [help/behavior] and http://meta.superuser.com/questions/2352/recommending-own-products – bwDraco Oct 23 '14 at 22:54
  • 3
    I have tried to be helpful providing a relevant answer. The product can surely help user4167750 solve his printing task, I am not aware of any other existing option other than custom programming as someone suggested. Should I have refrained from posting knowing that I have a relevant solution? In any case I have now read the self-promotion section in the FAQ and understand that you are trying to avoid spam to maintain the quality of the site. – jponce Oct 24 '14 at 00:24
  • @jponce, I really appreciate your answer here. This looks like it could really solve our problem. We can indeed get all of the e-mails into a .eml file. There will be two further (I believe minor) problems however. If you have any input on them, this would further speed up the process. 1) Our signatures are appearing as attachments. We have downloaded the original e-mails from Lotus Notes, which has caused this to happen upon their import into Outlook. 2) Many of our Excel files are +15 sheets. We have a special print setting for them--will I be able to apply this print setting to all xls? – user4167750 Oct 25 '14 at 07:22
  • @user4167750, about the problems that you mention: 1) we have implemented an attachments filter that can remove and filter attachments by file name. If your signature attachments have consistent names across the messages then it could solve the problem. 2) I am not sure if Excel print settings are persistent. For printing we use the attachment’s file extension to find a Windows shell association and then launch it passing the attachment’s file name as a parameter. – jponce Oct 26 '14 at 16:23
0

I don't have outlook on this machine and I won't have access to a windows machine with outlook until next week. But basically, you want to do something like this:

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

So it goes through the folder looking for emails, prints them and checks them for attachments and if found, prints them as well.

I don't have outlook, like I said, so I can't test this.

Don't go on live data!

If I were you, I'd put like three COPIED emails in a new folder and test this out on them before touching any live data. You may need to lookup how to set oFolder

Raystafarian
  • 21,583
  • 11
  • 60
  • 89
  • I really appreciate your time on this. I have found code similar to this, but it tends to gloss over zip files (which are at least 50% of our attachments). I think, the VBA might need to have to go a step further and invoke C++ at some point in order to access a zip extracting agent. Further, I think WinZip might be too cumbersome an extracting agent. I would say which ones I think might work for this, but I think the moderator is already touchy with the software promotional aspects of this post. – user4167750 Oct 25 '14 at 07:31
  • Does it still skip .zip files? Maybe that's a system-wide setting or an argument that can be passed to winzip via vba. Does the code error out or does it just not print the .zip? – Raystafarian Oct 25 '14 at 11:26
  • Yeah I think you're right that it might be able to be passed to winzip, but I'm not sure if it can be done through VBA. I think the problem is that once the attachment (i.e. zip file in this case) opens, it is external, or outside the scope, of outlook's VBA script. I'll keep playing around with it. Yay weekend work! – user4167750 Oct 25 '14 at 12:03