将 Excel 工作表中选定的单元格作为 Outlook 电子邮件快速发送的 2 种方法

立即分享:

有时,您可能希望将 Excel 工作表中选定的单元格快速插入到 Outlook 电子邮件中并发送这封电子邮件。 本文将对此进行研究,希望为您提供 2 种方法。

我之前的文章“将 Excel 工作表作为 Outlook 电子邮件发送的 2 种快速方法》 教您如何将整个 Excel 工作表作为电子邮件发送。 但是,有时,您只想将工作表中选定的单元格作为电子邮件发送。 针对这个需求,这里给大家公开2个方法。 您可以根据自己的喜好进行选择。

将 Excel 工作表中选定的单元格作为 Outlook 电子邮件快速发送的 2 种方法

方法 1:手动将所选单元格复制到电子邮件

  1. 到tar然后,打开源 Excel 文件并访问正确的 Excel 工作表。
  2. 然后选择要作为 Outlook 电子邮件发送的单元格。
  3. 接下来按“Ctrl + C”快捷键复制所选单元格。按“Ctrl+C”快捷键复制选中的单元格
  4. 之后,启动您的 Outlook 应用程序。
  5. 随后,单击“主页”功能区中的“新建电子邮件”按钮以创建新的 Outlook 电子邮件。
  6. 稍后在新消息窗口中,单击进入消息正文部分。
  7. 然后按“Ctrl + V”键按钮粘贴先前复制的选定Excel单元格。
  8. 最后,您可以像往常一样撰写电子邮件,然后单击“发送”按钮将其发送出去。

方法 2:通过 VBA 将选定的单元格作为电子邮件发送

  1. 首先,打开源 Excel 工作簿。
  2. 然后按“Alt + F11”键按钮访问 Excel VBA 编辑器。
  3. 在新窗口中,单击“插入”>“模块”以插入新模块。
  4. 接下来应该启用 Microsoft Outlook 对象。 单击“工具”>“参考”。 在弹出的对话框中,找到并勾选“Microsoft Outlook Object Library”。在 Excel 中启用 Microsoft Outlook 对象
  5. 随后,将以下 VBA 代码复制到此模块中。
Sub SendSelectedCells_inOutlookEmail()
    Dim objSelection As Excel.Range
    Dim objTempWorkbook As Excel.Workbook
    Dim objTempWorksheet As Excel.Worksheet
    Dim strTempHTMLFile As String
    Dim objTempHTMLFile As Object
    Dim objFileSystem As Object
    Dim objTextStream As Object
    Dim objOutlookApp As Outlook.Application
    Dim objNewEmail As Outlook.MailItem
 
    'Copy the selection
    Set objSelection = Selection
    Selection.Copy
 
    'Paste the copied selected ranges into a temp worksheet
    Set objTempWorkbook = Excel.Application.Workbooks.Add(1)
    Set objTempWorksheet = objTempWorkbook.Sheets(1)
 
    'Keep the values, column widths and formats in pasting
    With objTempWorksheet.Cells(1)
         .PasteSpecial xlPasteValues
         .PasteSpecial xlPasteColumnWidths
         .PasteSpecial xlPasteFormats
    End With
 
    'Save the temp worksheet as a HTML file
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    strTempHTMLFile = objFileSystem.GetSpecialFolder(2).Path & "\Temp for Excel" & Format(Now, "YYYY-MM-DD hh-mm-ss") & ".htm"
    Set objTempHTMLFile = objTempWorkbook.PublishObjects.Add(xlSourceRange, strTempHTMLFile, objTempWorksheet.Name, objTempWorksheet.UsedRange.Address)
    objTempHTMLFile.Publish (True)
 
    'Create a new email
    Set objOutlookApp = CreateObject("Outlook.Application")
    Set objNewEmail = objOutlookApp.CreateItem(olMailItem)
 
    'Read the HTML file data and insert into the email body
    Set objTextStream = objFileSystem.OpenTextFile(strTempHTMLFile)
    objNewEmail.HTMLBody = objTextStream.ReadAll
    objNewEmail.Display
    'You can specify the new email recipients, subjects here using the following lines:
    'objNewEmail.To = "johnsmith@datanumen.com"
    'objNewEmail.Subject = "DataNumen Products"
    'objNewEmail.Send --> directly send out this email
 
    objTextStream.Close
    objTempWorkbook.Close (False)
    objFileSystem.DeleteFile (strTempHTMLFile)
End Sub

VBA 代码 - 将 Excel 工作表中的选定单元格作为 Outlook 电子邮件发送

  1. 最终,您可以尝试一下。
  • 首先,像往常一样选择特定的单元格。
  • 然后回到新宏并按 F5 键触发它。
  • 马上会出现一封新的 Outlook 邮件,你可以看到选中的单元格已经被插入到邮件正文中,如下图所示:包含所选 Excel 单元格的新电子邮件

PST 文件与 Excel 文件一样容易受到攻击

众所周知,Excel 文件和 Word 文档很容易损坏。 实际上,PST 文件也是如此,它包含 Outlook 邮箱中的所有项目。 因此,保护​​您的 PST 数据是一项艰巨的任务。 其中之一ost 有效措施是定期备份文件。 另外,为了第一时间抢救,最好准备一个有经验的工具,比如 DataNumen Outlook Repair,它能够 恢复 Outlook 数据不费吹灰之力。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复中密度纤维板 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。