How to Batch Print All Tables of Multiple Outlook Emails

When printing tables of Outlook emails, you may prefer to print each table in separate pages so as to leave enough empty space for adding lots of notes beside each table later. At present, this article will tell you how to get it intelligently.  

From my previous article “2 Methods to Quickly Print All Tables in Your Outlook Email“, you can get a way to print out tables only in an email. That means would print the tables continuously in one page. In this situation, if later you add a lot of annotations beside the tables, this page will look a bit crowded. Hence, perhaps you will wish to print the tables in separate pages. Now, in the followings, we will share you a smart and effective way to achieve it.Batch Print All Tables of Multiple Outlook Emails

Batch Print All Tables of Multiple Emails

  1. At the very beginning, start Outlook application.
  2. Then, access Outlook VBA editor via “Alt + F11”.
  3. Next, paste the VBA code below into a module.
Sub BatchPrintAllTablesOfMultipleEmailsOnSeparatePages()
    Dim objSelection As Outlook.Selection
    Dim i As Long
    Dim objMail As Outlook.MailItem
    Dim objMailDocument As Object
    Dim objWordApp As Object
    Dim objTable As Object
    Dim objTempDocument As Object
 
    'Get all selected emails
    Set objSelection = Outlook.Application.ActiveExplorer.Selection
 
    If Not (objSelection Is Nothing) Then
       For i = objSelection.Count To 1 Step -1
           If objSelection(i).Class = olMail Then
              Set objMail = objSelection(i)
              Set objMailDocument = objMail.GetInspector.WordEditor
 
              On Error Resume Next
              Set objWordApp = GetObject(, "Word.Application")
              If objWordApp Is Nothing Then
                 Set objWordApp = CreateObject("Word.Application")
              End If
              objWordApp.Visible = True
 
              For Each objTable In objMailDocument.Tables
                  objTable.Range.Copy
 
                  'Print tables in separate pages
                  Set objTempDocument = objWordApp.Documents.Add
                  objTempDocument.Content.Paste
                  objTempDocument.PrintOut
                  objTempDocument.Close False
              Next
          End If
      Next
 
      objWordApp.Quit
    End If
End Sub

VBA Code - Batch Print All Tables of Multiple Emails

  1. After that, add this macro to Quick Access Toolbar according to “How to Run VBA Code in Your Outlook“.
  2. Finally, you can try it.
  • At first, select several emails whose tables you want to print.
  • Subsequently, click the macro button in Quick Access Toolbar.Run Macro on Selected Mails
  • When macro finishes, all the tables of these emails will be printed out in separate pages.Printed Tables

Fire Back Against All Risks around Outlook

Outlook is unable to escape from errors, crash and so on. Therefore, maybe you have met up with some errors or even severe Outlook corruption. Generally, you can firstly try the inbuilt fix utility for Outlook fix. When it fails, you can continue to resort to a more experienced external tool, like DataNumen Outlook Repair. It’s capable of solving majority of Outlook problems with ease.

Author Introduction:

Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including sql corruption and outlook repair software products. For more information visit www.datanumen.com

Comments are closed.