跳至主要内容

 如何从Excel通过Outlook向列表中的多个收件人发送电子邮件?

Author: Xiaoyang Last Modified: 2025-07-31

如果您的工作表某一列中有多个电子邮件地址,现在您希望直接从Excel向此收件人列表发送电子邮件而无需打开Outlook。本文将介绍如何同时从Excel向多个收件人发送电子邮件。

使用VBA代码从Excel向多个收件人发送电子邮件

使用VBA代码将当前工作簿作为附件发送电子邮件给多个收件人


使用VBA代码从Excel向多个收件人发送电子邮件

您可以使用VBA代码一次性向多个收件人发送消息,请按照以下步骤操作:

1. 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口。

2. 单击 插入 > 模块,并将以下代码粘贴到 模块窗口中。

VBA代码:向多个收件人发送电子邮件

Sub sendmultiple()
'updateby Extendoffice
    Dim xOTApp As Object
    Dim xMItem As Object
    Dim xCell As Range
    Dim xRg As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOTApp = CreateObject("Outlook.Application")
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    Set xMItem = xOTApp.CreateItem(0)
    With xMItem
        .To = xEmailAddr
        .Display
    End With
End Sub

3. 然后按 F5 键执行此代码,会弹出一个提示框提醒您选择地址列表,见截图:

a screenshot of selecting the email addresses list after running the code

4. 然后单击“确定”,将显示Outlook邮件窗口,您可以看到所有选定的电子邮件地址都已添加到“收件人”字段中,然后您可以输入主题并撰写您的邮件,见截图:

a screenshot of a created email with all selected email addresses listed in the To field

5. 完成邮件后,请单击“发送”按钮,此邮件将发送给您工作表列表中的这些收件人。


向多个收件人发送个性化电子邮件并附带不同附件:

借助 Kutools for Excel发送电子邮件 功能,您可以根据需要快速通过Outlook从Excel向多个收件人发送个性化电子邮件并附带不同的附件。同时,您还可以将邮件抄送或密送给特定的人。 点击下载 Kutools for Excel!

a screenshot of using the Send Emails feature of Kutools to easily send personalized emails to multiple recipients with different attachments


使用VBA代码将当前工作簿作为附件发送电子邮件给多个收件人

如果您需要将当前工作簿作为附件发送消息给多个收件人,可以应用以下VBA代码。

1. 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口。

2. 单击 插入 > 模块,并将以下代码粘贴到模块窗口中。

VBA代码:将当前工作簿作为附件发送电子邮件给多个收件人

Sub EmailAttachmentRecipients()
'updateby Extendoffice
    Dim xOutlook As Object
    Dim xMailItem As Object
    Dim xRg As Range
    Dim xCell As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the arresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOutlook = CreateObject("Outlook.Application")
    Set xMailItem = xOutlook.CreateItem(0)
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    With xMailItem
        .To = xEmailAddr
        .CC = ""
        .Subject = ""
        .Body = ""
        .Attachments.Add ActiveWorkbook.FullName
        .Display
    End With
    Set xOutlook = Nothing
    Set xMailItem = Nothing
End Sub

3. 粘贴代码后,按 F5 键运行此代码,会弹出一个提示框提醒您选择要发送消息的地址,见截图:

a screenshot of selecting the email addresses list after running the second VBA code

4. 然后单击 “确定”按钮,将显示Outlook 邮件窗口,所有电子邮件地址都已添加到“收件人”字段中,并且当前工作簿也已作为附件插入,然后您可以输入主题并撰写您的邮件,见截图:

a screenshot of a created email with all selected email addresses listed in the To field and the current workbook as attachment

5. 然后单击“发送”按钮,将此消息连同当前工作簿作为附件发送给收件人列表。


相关文章:

如何通过Outlook从Excel向列表发送个性化的群发邮件?


最佳 Office 办公效率工具

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

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


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

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!