KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何从 Excel 中的指定区域发送邮件?

作者Siluvia修改日期

在许多场景下,Excel 工作表中的特定区域内容可直接用于您的邮件沟通。本文将为您介绍一种方法,让您无需复制粘贴,即可将选定区域直接嵌入邮件正文并发送。

从 Excel 中的限定区域发送邮件
使用强大工具从限定区域发送邮件

更多 Excel 邮件发送教程……


从 Excel 中的限定区域发送邮件

以下 VBA 代码可助您将指定区域直接复制并粘贴到 Outlook 邮件正文中。请按以下步骤操作:

1. 在包含需复制区域的工作表中,同时按下“Alt + F11”键,即可打开“Microsoft Visual Basic for Applications”窗口。

2. 在打开的“Microsoft Visual Basic for Applications”窗口中,请单击“工具”>“引用”,如下图所示。

3. 在“引用 – VBAProject”对话框中,找到并勾选“Microsoft Outlook Object Library”选项,然后单击“确定”按钮。

显示“引用 – VBAProject”对话框的截图

4. 单击“插入”>“模块”,然后将下方的 VBA 代码复制并粘贴到模块窗口中。

VBA 代码:在 Excel 中发送包含限定区域的邮件

Sub Send_Email()
'Updated by Extendoffice 20200119
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xEmailBody As String
    Dim xMailOut As Outlook.MailItem
    Dim xOutApp As Outlook.Application    
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    For I = 1 To xRg.Rows.Count
        For J = 1 To xRg.Columns.Count
            xEmailBody = xEmailBody & "  " & xRg.Cells(I, J).value
        Next
        xEmailBody = xEmailBody & vbNewLine
    Next
    xEmailBody = "Hi" & vbLf & vbLf & " body of message you want to add" & vbLf & vbLf & xEmailBody & vbNewLine
    With xMailOut
        .Subject = "Test"
        .To = "happy.xuebi@163.com"
        .Body = xEmailBody
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

注意

  • 1)。请根据需要修改此脚本行中的邮件正文 xEmailBody = "Hi" & vbLf & vbLf & " body of message you want to add" & vbLf & vbLf & xEmailBody & vbNewLine
  • 2)。请在代码的该行中指定邮件收件人和主题:(.To = happy.xuebi@163.com and .Subject = "test").

5. 按 F5 键运行代码。在弹出的 Kutools for Excel 对话框中,选择您要粘贴到邮件正文中的区域,然后单击“确定”按钮。参见截图:

用于选择要粘贴到邮件正文中的区域的对话框截图

6. 现在已创建一封包含指定收件人、主题、正文及所选 Excel 区域的邮件,请单击“发送”按钮立即发送。参见下图。

显示已创建的邮件,其中 Excel 区域已粘贴到邮件正文中

注意:该 VBA 代码仅在您使用 Outlook 作为电子邮件程序时有效。


使用强大工具从限定区域发送邮件

如果您尚未使用 Outlook,但仍希望直接在 Excel 中发送邮件并粘贴指定区域的数据,我强烈推荐您使用 Kutools for Excel 的“发送邮件”功能。只需配置某个邮箱地址的发件服务器,即可通过该邮箱直接从 Excel 发送邮件。

Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

1. 首先,您需要准备一份包含所需字段的邮件列表。

  • 提示:邮件列表必须至少包含 2 行,且第一行为标题(例如,若要在 Excel 中向两个邮箱地址发送邮件,请参照下图,在标题为“Email”的列中输入这两个邮箱地址)。
  • 使用 Kutools 准备发送邮件的 Excel 邮件列表截图
  • 或者,您可以轻松使用创建邮件列表功能,快速创建一个邮件列表。

2. 选择您希望添加到邮件正文中的区域,然后按下 Ctrl + C 进行复制。

3. 选中整个邮件列表(含标题),点击“KUTOOLS PLUS”>“发送邮件”。参见截图:

Excel 中 Kutools Plus 菜单下的“发送邮件”按钮截图

4. 随后将弹出“发送邮件”对话框。

  • 4.1)所选邮件列表的项目已填充到相应字段中(您可以根据需要向邮件列表添加更多字段);
  • 4.2)单击邮件正文框,按 Ctrl + V 键将选择区域数据粘贴到其中,然后根据需要添加其他内容;
  • 4.3)取消勾选“使用 Outlook 发送”复选框;
  • 4.4)单击“发件服务器设置”按钮。参见截图:

    “发送邮件”对话框截图

5. 随后将弹出“发件服务器设置 – 新建方案”对话框。请填写邮箱地址及相应的服务器设置,勾选“保存已发送邮件到”复选框,并指定一个文件夹用于存档所有已发送邮件,然后单击“确定”保存配置。

“传出邮件服务器 (SMTP) 设置”对话框截图

6. 返回“发送邮件”对话框后,单击“发送”按钮即可将邮件发出。

Kutools for Excel——包含 300 多个 Excel 必备工具,并永久免费畅享 AI 功能!立即下载!


相关文章:

向 Excel 单元格中指定的邮箱地址发送邮件
假设您有一份邮箱地址列表,并希望直接在 Excel 中批量向这些地址发送邮件,该如何操作?本文将为您详细介绍如何在 Excel 中向单元格内指定的多个邮箱地址发送邮件。

在 Excel 中发送邮件时插入 Outlook 签名
假设您希望直接在 Excel 中发送邮件,该如何为该邮件添加默认的 Outlook 签名?本文提供两种方法,助您轻松实现在 Excel 中发送邮件时自动插入 Outlook 签名。

在 Excel 中发送带多个附件的邮件
本文介绍如何通过 Outlook 在 Excel 中发送带多个附件的邮件。

当 Excel 中满足截止日期时发送邮件
例如,若 C 列中的截止日期距离当前日期(2017/9/13)小于等于 7 天,则自动向 A 列指定的收件人发送包含 B 列内容的邮件提醒。如何实现?本文将详细介绍一种 VBA 方法,助您轻松搞定此需求!

根据 Excel 单元格值自动发送邮件
假设您希望根据 Excel 中指定单元格的值,通过 Outlook 向特定收件人自动发送邮件。例如,当工作表中 D7 单元格的值大于 200 时,即可自动创建并发送邮件。本文将为您介绍一种高效的 VBA 方法,快速实现这一需求。

更多 Excel 邮件发送教程……

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱