Many users wish to convert the selected cells in an Excel worksheet to an image and then attach the image to an Outlook email. This article will introduce a method to get it with ease.
In my previous article – “2 Methods to Quickly Send Selected Cells in an Excel Worksheet as an Outlook Email”, I’ve introduced 2 ways to embed the selected cells into the body of an email quickly. But, some users would like to convert the selected cells into an image and attach the image to an email. In response to this wish, here we will expose a piece of VBA code, which can realize it like a cork.
Add Selected Cells in Excel Worksheet as an Image Attachment to Email
- At the very outset, open the source Excel workbook and then access the right worksheet.
- Then press “Alt + F11” keys to access Excel VBA editor.
- Next you ought to enable Outlook Object firstly.
- To start with, click on “Tools” in the toolbar.
- Then from the drop down list, choose “References”.
- In the new dialog box, find “Microsoft Outlook Object Library” and mark the checkbox before it.
- Subsequently, you need open the “ThisWorkbook” project and copy the VBA code below into its window.
Sub SendSelectedCells_EmailAttachment() Dim objSelection As Excel.Range Dim objThisWorksheet As Excel.Worksheet Dim objFileSystem As Object Dim strTempFolder, strImageName, strImageFile As String Dim objOutlookApp As Outlook.Application Dim objNewMail As Outlook.MailItem 'Copy the selected cells Set objSelection = Selection objSelection.CopyPicture 'Specify the worksheet Set objThisWorksheet = ThisWorkbook.Worksheets("Sheet1") 'Export the selected cells as an image file Set objFileSystem = CreateObject("Scripting.FileSystemObject") strTempFolder = objFileSystem.GetSpecialFolder(2).Path & "\" strImageName = "Capture from " & ThisWorkbook.Name strImageFile = strTempFolder & strImageName & ".jpg" With objThisWorksheet.ChartObjects.Add(objSelection.Left, objSelection.Top, objSelection.Width, objSelection.Height) .Activate .Chart.Paste .Chart.Export strImageFile, "JPG" End With objThisWorksheet.ChartObjects(objThisWorksheet.ChartObjects.Count).Delete 'Attach the image to a new Outlook email Set objOutlookApp = CreateObject("outlook.application") Set objNewMail = objOutlookApp.CreateItem(olMailItem) With objNewMail .Attachments.Add strImageFile .Display '.Send End With End Sub
- After that, you can add the new macro to Quick Access Toolbar. Access “Excel Options” and shift to “Quick Access Toolbar” tab. Then take the steps shown in the screenshot below to complete it.
- Eventually, you can have a try.
- Firstly, select the specific cells.
- Then hit the button in Quick Access Toolbar.
- At once, a new Outlook email will popup, in which an image copied from selected cells has been attached, like the following picture:
Solve Outlook Problems Swiftly
During using your Outlook, you must have ever encountered a variety of issues, like frequent error messages, Outlook freezes and even Outlook corruption. Thus, it is necessary for you to equip your Outlook with a powerful and reliable repair tool, such as DataNumen Outlook Repair. It is well versed in fixing Outlook issues.
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including fix sql and outlook repair software products. For more information visit www.datanumen.com