How to Batch Copy All Charts from an Excel Workbook to an Outlook Email

If you want to quickly copy all charts from every worksheet in an Excel workbook to an Outlook email, you can use the method exposed in this article. It can help you get it in one go.

Perhaps you have created a stack of charts for the statistics in an Excel workbook. And later, you would like to make full use of these charts to create a new Outlook mail. Of course, you can opt to copy them to the email one by one manually. Yet, it is quite troublesome. Therefore, in the followings, we will share a much handier way with you. It can help you realize that simply via a click. Now read on to get it in detail.

Batch Copy All Charts from an Excel Workbook to an Outlook Email

  1. For a start, open the specific Excel workbook.Open Specific Excel Workbook
  2. Then, press “Alt + F11” to access Excel VBA editor.
  3. In the new window, add “MS Outlook Object Library” and “MS Word Object Library”. The steps are similar to what are introduced in the article – “How to Add an Object Library Reference in VBA“.Add Outlook & Word Object Library
  4. After that, put the following VBA code into “ThisWorkbook” project.
Sub CopyAllChartsToOutlookEmail()
    Dim objOutlookApp As Outlook.Application
    Dim objMail As Outlook.MailItem
    Dim objMailDocument As Word.Document
    Dim objSheet As Excel.Worksheet
    Dim objChart As Excel.ChartObject
 
    'Get Outlook Application
    On Error Resume Next
    Set objOutlookApp = GetObject(, "Outlook.Application")
    If objOutlookApp Is Nothing Then
       Set objOutlookApp = CreateObject("Outlook.Application")
    End If
 
 'Create an Outlook Email
 Set objMail = objOutlookApp.CreateItem(olMailItem)
 objMail.Display
 Set objMailDocument = objMail.GetInspector.WordEditor
 
 'Copy All Charts from Each Sheet to the New Email
 For Each objSheet In ActiveWorkbook.Worksheets
 For Each objChart In objSheet.ChartObjects
 objChart.Copy
 objMailDocument.Range(0, 0).Paste
 Next
 Next
End Sub

VBA Code - Batch Copy All Charts from an Excel Workbook to an Outlook Email

  1. After that, tap on “F5” key button or click the “Run” icon in the toolbar to run the macro.
  2. Subsequently, an Outlook email will display with a popup warning, shown as the following image.Warning in Outlook Email
  3. When you select and click on “Allow” button, all the charts in the source Excel workbook will be copied into this mail at once.Email with Copied Charts

Shield Outlook from All Risks

As we all know, a plenty of threats are surrounding our data, of course including our Outlook data files. Also, no one is reluctant to suffering Outlook corruption. Thus, every Outlook user has to make actions to safeguard their Outlook from all kinds of potential risks. To be specific, users have to back up Outlook data on a regular basis, which can facilitate Outlook recovery a lot. Moreover, you’d better get hold of a potent PST fix tool, such as DataNumen Outlook Repair.

Author Introduction:

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

One response to “How to Batch Copy All Charts from an Excel Workbook to an Outlook Email”

  1. thanks for this, it works beautifully but puts the charts on a single line within the email – is there anyway to put a line break between each chart?

Leave a Reply

Your email address will not be published. Required fields are marked *