How to print and copy and paste 600 emails

u587162 used Ask the Experts™
I have some 600 emails contained within a gmail account.  

I need to not only print each of these emails (ideally as unique email replies without the reply conversations contained below the reply mail) and I need to somehow copy all of those individual emails into a MS Word document or Google document.

Anyone could a bright idea how I can do this?  I've given up at manually doing this at 102 / 600 mails.

Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
I don't know about Gmail, but if you were using Outlook, you can highlight all of the emails and print them.  If you can't do that in Gmail, set up Outlook to retrieve the emails and print them from there.  If you don't own Outlook, look at alternatives such as Thunderbird.  You may be able to do the same printing there.

" copy all of those individual emails into a MS Word document"
To be clear, you want all 600 emails in a single document?  There are a number of options.
If you don't care about formatting, set up a generic printer and print to it as a file.
You could print to a PDF and then convert it to DOCX.
There are programs that allow you to print directly to DOCX format.  This is an example:
I've not used it before, but it looks as if it would do the job.


Yes because I need the ability to capture the text of all the emails and manipulate it accordingly.  I have manually done 120 emails so far and it amounts to about 130 pages.

Alternatively, I need a way of printing a unique instance of each email so the reader can easily follow each email reply on a new page without confusing the various previous replies which are in the same email.
Top Expert 2014

Have you looked at GMail add-ins, such as EverNote?

There are some programmatic solutions, but you would probably spend more time setting this up than doing this manually.
Exploring ASP.NET Core: Fundamentals

Learn to build web apps and services, IoT apps, and mobile backends by covering the fundamentals of ASP.NET Core and  exploring the core foundations for app libraries.


have looked at a few chrome adds ins, but seem quite tedious to use or dont work.  

Evernote as in the regular evernote service?  Not sure how that will achieve what I am look for i.e. taking each email and storing it in one file.  I'd need exact instructions rather than faffing around guessing.    So far its taken me many hours of mouse movements to do this for 105 emails, Im losing the will power to do it for the rest.
Top Expert 2014

1. Set the default paste format as text (in Word)
2. Open a GMail document
3. Ctrl+A
4. Ctrl+C
5. Alt+Tab  (to navigate to Word)
6. Ctrl+V
7. Ctrl+Enter
8. Alt+Tab  (to navigate to GMail)
9. click on > or use n (if you have keyboard shortcuts enabled
repeat sequence at #3

If you have a smart keyboard or appropriate app, you can program a key stroke shortcut to do steps 3-7.


I don't think you quite understood what I am looking to do.

Before I can do all of that from your last message, I need to extract the email content including the email headers as i need the date and time stamps, subject etc.  Basically I need it for legal purposes so the full details of the email and the body.

"Save Gmail to Google Drive" add on for $29 from Digital Inspirations is the closest thing I can find but not sure if it will dump all emails into one file.  It creates multiple files which I then need to merge.


Ok here is another thought.  I have Office 2019 for mac.  What if I use Outlook?

1. Is there a way of downloading only the 600 emails that I want with some unique label like the domain name or

2. Do I use IMAP or pop (I would not want the original emails on the server to be deleted or changed in anyway

3. How then to multiple select emails in outlook and export with headers to MS Word
if you print to OneNote, PDF files are searchable


These one line random answers are really not helpful :-)

How are you proposing printing 600 emails, which need to be in sequential order and retain the email headers going to happen?
If you were to retrieve these in Outlook, manipulating them would be limited only by your ability to write VBA code.

It's still not clear to me.  Are you wanting 600 emails as a single document, as 600 documents, or one document/thread?

"without confusing the various previous replies which are in the same email" is not at all clear to me.  For example, if you have a back-and-forth email conversation with replies, the latest one will have all of the previous replies inside of it.  Are you wanting to print that whole message or somehow strip off the earlier messages?  What about printing the previous messages in that thread?

I don't think you're going to find an easy way to do this short of some VBA programming.
Top Expert 2014

or Python programming
If you can export them as multiple files, you could then use Word's INCLUDETEXT field code to assemble the full set of them into a single document.

The INCLUDETEXT field code will bring the content of a named file into the Word document as the "result" of the field code. The results of field codes are not actually in the Word document, but can be converted to text once their results are calculated.

The export tool you've found will likely put the files into a single folder with some sort of file naming pattern, and will almost certainly manage the header content in a consistent fashion for every email being exported. This will be useful in a later step to enable you to build a table of contents so you have a manageable (and clickable) connection to each email. You should also be able to structure the resulting document so you can collapse it to one or more of the main header elements (i.e. to sort it by Subject, date, sender, etc.)

  1. Start by right-clicking on the file name of the first exported email so you can copy the file name (including the extension). You'll need it in an upcoming step.
  2. Create a new empty Word document -- preferably in the folder with the exported emails -- and use File > Save As... to give it a suitable name. Click the ¶ button or press Ctrl-* to display non-printing characters so you'll be better able to see what is going on.
  3. Insert the field code to bring in the first exported email document. In recent versions of Word, from the Insert ribbon's Text group, click the "Quick Parts" button and choose "Field..." from the pulldown. In the resulting Field dialog box, scroll down to select the Includetext field code.
  4. The dialog will change to display options for that specific field code. Click in the filename box and paste the name you copied earlier. If you saved the Word file in the same folder as the exported emails, you won't need to include a path for the filename. The other options can be left as their defaults, so click OK to have the field code insert the contents of the file.
  5. Since you will likely want each email to start on its own page, press Ctrl-Enter to add a "new page" after the inserted content.
  6. Now press Alt-F9 to toggle visibility of field codes. Instead of the contents of the first email, you will see something like this:
  7. Example of an INCLUDETEXT field code
  8. The "eeEmailAssembly 001.docx" part will be the file name; the \* MERGEFORMAT part is a field code switch to tell Word to preserve formatting during updates of this field code, and won't be needed here. (If you had unchecked the box in the Field dialog, this switch would not be included.) The Ctrl-Enter you entered in the previous step will show as the "Page Break".
  9. Now copy the full paragraph including the page break and paste it as a new paragraph. Since you can edit the file name while the field code visibility is togged on, make the necessary edit to the file name to have it refer to the next email in the list. (In my example, that might be just changing the 001 part to 002, but you'll need to determine that for your particular situation.)
  10. To see the result and ensure all is working, press Alt-F9 to toggle to the field code result view, then Ctrl-A to select everything and press F9 to update all field codes. Now you should see the full content of the first two emails, with each starting on their own page.

Now you need to get all 600 file names into 600 field codes to get the whole set. Depending on the file naming options of the exporting tool, this can be surprisingly straightforward with Word field codes.

Consider the following screen shot: How to use field codes to include variable info in a filename
The { SEQ eCount \r 0 \# "000" } line creates a sequence bookmark named "eCount" with switches to reset its initial value to zero and use a numeric pattern to ensure padded zeroes.

Within the following identical-appearing paragraphs, the reference to the same sequence but now without the reset will be interpreted as 3 incrementing digits within the filenames in each case. Thus, the first file being included will be named "This is email 001.docx" with the next ones being "This is email 002.docx" and "This is email 003.docx".

So, to get all 600, you could copy these 3 paragraphs and paste them to get six. You could just keep pasting 3 at a time, but it would be quicker to re-select a larger set so you could build it up to 600 more quickly.

You'll have them all when the page count in the status bar reaches 601 (which is partly why I set it up to have each paragraph end with a page break), and the final page break can be deleted.

For the grand finale, Ctrl-A will select everything, and F9 will calculate all field codes to insert all of your emails. Then, to "disconnect" the content from being links to the original files, press Shift-Ctrl-F9. Now all of your emails will be in a single editable document.

But there's more...

If your emails are exported consistently, you could probably use Find and Replace to apply styles to the various structural elements such as Subject, From, Date, etc. If you applied the built-in heading styles (Heading 1, Heading 2, etc.), you could then use Word's "Table of Contents" feature to create one or more tables of contents to list the emails by the various elements with clickable links to let you jump directly to them.

For example, if all Subject lines were tagged with the Heading 1 style, a table of contents built with { TOC \o "1" \h } would list just the subject lines as clickable hyperlinks to the corresponding email.

Moreover, the heading styles work with Word's Outline view that lets you collapse the view to just the levels of heading you want to see. When you double-click a visible heading, it can then expand to the content "beneath" it.

The above may seem a bit overwhelming if you are unfamiliar with Word's field codes -- but I hope it gives you incentive to invest some time in learning about these often-overlooked but very useful features of Word. My go-to resource for Word's field codes is this Microsoft support article: List of Word field codes



Yes, I would like to print all 600 emails in one MS Word or Google document.  

and yes I want to strip out all the messages in a thread.  I don’t use the word thread because then people start getting confused with gmail’s threaded function (grouping all same subject emails together).  

as I have to print off each email as a unique instance for legal purposes so that the reader can follow the conversation as a unique instance (with all 600 emails in cumulative date order), I need to do it this way.  

so far, have been doing this manually by copying and pasting each email by selecting forward and then copying the header and body of the email and pasting into a google document.
"and yes I want to strip out all the messages in a thread."
I'm still not understanding what that means, though it doesn't likely matter with regard to recommending a solution.  I don't think you're going to be able to accomplish this without some sort of programming, whether VBA, Python, or something else.

If I send you an email, you reply back, and I reply again, there will be two emails in your inbox and one in your sent mail.  The last received will have the contents of the other two embedded in it.  What do you want in the final document?

"strip out" could either mean delete or could mean put them all together.  That's part of my lack of understanding here.


I say hello
you reply goodbye
I reply how do you do
you reply never you mind

now the last email will have a four conversations back to back in the one email.  

I want to print each email by copying and pasting each email header with the date and time stamps and the single replies.  so in total 4 emails.    that what I mean when I say replies.  

I’m happy with the copying and pasting.  all I’m saying is I would rather copy and paste from one document and not goto each gmail email, hit forward (to get displayed the header), then copy it to a word document and then repeat it again.


Eric - very kind of you to write all of that.  it’s unfortunately gone completely over my head.  not sure I can follow that :-(
"I want to print each email by copying and pasting each email header with the date and time stamps and the single replies.  so in total 4 emails.    that what I mean when I say replies.  "
Wouldn't the last email in the thread have all of the info?

"Basically I need it for legal purposes so the full details of the email and the body."
I'm not lawyer, but I'd think that a series of copied and pasted email headers wouldn't hold much legal weight.  I think that the last email with all of that info would be considered more "original".


why is this question marked as closed / solved?  what’s with this new design site.
It usually gets marked as closed by the Author either marking one response as the solution or by a new post by the Author indicating that he found his own solution.


If I did that I don’t recall and it was a mistake.  How do I undo it?

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial