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

ms excelmicrosoft technologiesadvanced excel function更新于 2025/3/3 1:16:17

有效的数据沟通至关重要,偶尔截取 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 中将一系列单元格作为图像粘贴到邮件正文中,以突出显示特定的一组数据。


相关文章


有用资源