如何在 Excel 中将单元格区域粘贴到邮件正文中作为图片?


有效的數據通信至關重要,有时截取 Excel 工作表的屏幕截图可以使事情变得更容易。您可以轻松地将图像添加到文档或电子邮件中,使其更赏心悦目,并方便用户使用,方法是在 Excel 中立即将一组单元格转换为图像。在本课中,我们将引导您完成将单元格集创建为图片并将其复制到您选择的邮件正文中的每个步骤。让我们开始吧,并发现这个有助于提高 Excel 数据共享能力的实用技巧!

将单元格区域粘贴到邮件正文中作为图片

这里我们将首先创建一个 VBA 模块,然后选择单元格区域,最后发送邮件。因此,让我们看看一个简单的过程,了解如何将单元格区域粘贴到邮件正文中作为 Excel 中的图片。

步骤 1

考虑一个 Excel 表格,其中包含您所需的数据。

首先,右键单击工作表名称并选择“查看代码”以打开 VBA 应用程序。

右键点击 > 查看代码。

步骤 2

然后单击“插入”并选择“模块”,然后将以下代码复制到文本框中。

插入 > 模块 > 复制。

代码

Sub sendMail()
   Dim TempFilePath As String
   Dim xOutApp As Object
   Dim xOutMail As Object
   Dim xHTMLBody As String
   Dim xRg As Range
   On Error Resume Next
   Set xRg = Application.InputBox("Please select the data range:", "Paste Range Images", Selection.Address, , , , , 8)
   If xRg Is Nothing Then Exit Sub
   With Application
      .Calculation = xlManual
      .ScreenUpdating = False
      .EnableEvents = False
   End With
   Set xOutApp = CreateObject("outlook.application")
   Set xOutMail = xOutApp.CreateItem(olMailItem)
   Call createJpg(ActiveSheet.Name, xRg.Address, "DashboardFile")
   TempFilePath = Environ$("temp") & ""
   xHTMLBody = "<span LANG=EN>" _
      & "<p class=style2><span LANG=EN><font FACE=Calibri SIZE=3>" _
      & "Hello, this is the data range that you want:<br> " _
      & "<br>" _
      & "<img src='//cdn.extendoffice.com/cid:DashboardFile.jpg'>" _
      & "<br>Best Regards!</font></span>"
   With xOutMail
      .Subject = ""
      .HTMLBody = xHTMLBody
      .Attachments.Add TempFilePath & "DashboardFile.jpg", olByValue
      .To = " "
      .Cc = " "
      .Display
   End With
End Sub
Sub createJpg(SheetName As String, xRgAddrss As String, nameFile As String)
   Dim xRgPic As Range
   Dim xShape As Shape
   ThisWorkbook.Activate
   Worksheets(SheetName).Activate
   Set xRgPic = ThisWorkbook.Worksheets(SheetName).Range(xRgAddrss)
   xRgPic.CopyPicture
   With ThisWorkbook.Worksheets(SheetName).ChartObjects.Add(xRgPic.Left, xRgPic.Top, xRgPic.Width, xRgPic.Height)
      .Activate
      For Each xShape In ActiveSheet.Shapes
         xShape.Line.Visible = msoFalse
      Next
      .Chart.Paste
      .Chart.Export Environ$("temp") & "" & nameFile & ".jpg", "JPG"
   End With
   Worksheets(SheetName).ChartObjects(Worksheets(SheetName).ChartObjects.Count).Delete
Set xRgPic = Nothing
End Sub

步骤 3

然后单击 F5 运行模块。然后选择要复制的单元格区域并单击“确定”。

F5 > 运行 > 选择单元格 > 确定。

步骤 4

然后在 Outlook 中,单击“发送”以完成任务。

结论

在本教程中,我们使用了一个简单的示例来演示如何将单元格区域粘贴到邮件正文中作为 Excel 中的图片,以突出显示特定数据集。

更新于: 2023-09-06

93 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告