Microsoft Excel发送电子邮件的4种方法

Microsoft Excel发送电子邮件的4种方法

您是否需要每天向主管、客户、供应商以及与业务相关的更多实体发送大量电子邮件?

您是否厌倦了手动将 Excel 中的内容复制并粘贴到 Outlook 或 Gmail 中,然后花费数小时来格式化电子邮件?通过学习如何从 Excel 发送电子邮件,摆脱这种麻烦并轻松巧妙地发送电子邮件。

Microsoft Excel 和 Outlook 或 Gmail 是任何企业不可或缺的工具。这些应用程序在您的个人和自由职业生活中也同样有用。Excel、Excel VBA、Office Scripts 和 Power Automate 具有必要的功能,因此您可以自动执行业务或个人电子邮件任务。

阅读本文直至最后,以了解在 Excel 中注入自动化并直接从 Excel 工作簿发送电子邮件的最佳步骤。

推荐:最佳WordPress SEO插件Rank Math Pro

从 Excel 发送电子邮件的原因

使用 Excel 发送电子邮件的主要原因是,当您需要在工作日发送大量电子邮件时,可以自动化该流程。假设有一张客户表,上面列有他们的发票金额,您必须发送提醒,以便客户按时付款。

您是否会在 Excel 和 Outlook 应用程序之间来回复制数据,并将数据从前者复制到后者,并为所有必须发送的电子邮件分别起草电子邮件?绝对不会!当电子邮件的某些内容位于 Excel 工作簿中时,您可以按照本文下面提到的方法自动完成整个电子邮件发送过程。

我能想到的其他几个主要原因如下:

  1. 您可以使用 Excel 生成自动报告并通过电子邮件发送,以确保只需单击即可及时传递给相关收件人。
  2. 您还可以轻松地与同事或客户分享数据分析或计算的结果。
  3. 您可以随时使用 Excel 来安排和发送会议、约会或截止日期的提醒。
  4. 对于小规模的电子邮件营销,可以使用Excel来管理联系人列表和发送促销材料。
  5. Excel 可以帮助您管理宾客名单并发送活动邀请或最新消息。
  6. 自动化人力资源流程,例如向新员工发送录用通知书、入职信息或培训材料。
  7. 您可以安排自动通过电子邮件向经理或客户发送绩效报告,以展示成就和进步。

如何使用 Excel VBA 从 Excel 发送电子邮件

这是通过引用 Excel 工作表中的数据集来自动批量发送电子邮件的最简单、最直观的方法之一。以下是您必须遵循的说明:

创建 VBA 脚本并以 XLSM 格式保存工作簿

Microsoft Excel发送电子邮件的4种方法
Microsoft Excel发送电子邮件的4种方法
创建 VBA 代码
  1. Alt + F11 提出 Excel VBA 编辑器 工具。
  2. 在那里,点击 插入 按钮。
  3. 点击创建一个新模块 模块 选项。
  4. 在新模块中,复制并粘贴以下 VBA 脚本:
Sub SendEmails()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim ws As Worksheet
    Dim LastRow As Long
    Dim i As Long

    ' Create a reference to the Outlook application
    Set OutApp = CreateObject("Outlook.Application")

    ' Set the worksheet where your data is located
    Set ws = ThisWorkbook.Sheets("Sheet2") ' Change "Sheet2" to your sheet name

    ' Find the last row with data in column A
    LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    ' Loop through each row with data
    For i = 2 To LastRow ' Assuming the header is in row 1
        ' Create a new email
        Set OutMail = OutApp.CreateItem(0)

        ' Set email properties
        With OutMail
            ' Set the email address from Column D
            .To = ws.Cells(i, "D").Value
            ' Set the subject with the Invoice ID from Column A
            .Subject = "Pending payment for invoice: Invoice ID " & ws.Cells(i, "A").Value
            ' Create the email body with the requested information
            .Body = "Dear " & ws.Cells(i, "C").Value & "," & vbNewLine & vbNewLine & _
                    "We hope this message finds you well. This is a reminder regarding the pending payment for the following invoice:" & vbNewLine & vbNewLine & _
                    "Invoice ID: " & ws.Cells(i, "A").Value & vbNewLine & _
                    "Date of Invoice: " & ws.Cells(i, "B").Value & vbNewLine & _
                    "Client Name: " & ws.Cells(i, "C").Value & vbNewLine & _
                    "Amount Due: $" & ws.Cells(i, "E").Value & vbNewLine & vbNewLine & _
                    "Please make the payment at your earliest convenience." & vbNewLine & vbNewLine & _
                    "Thank you for your prompt attention to this matter." & vbNewLine & vbNewLine & _
                    "Sincerely," & vbNewLine & "Your Company Name"

            ' Send the email
            .Send
        End With

        ' Release the email object
        Set OutMail = Nothing
    Next i

    ' Release the Outlook application object
    Set OutApp = Nothing
End Sub
  1. 点击 节省 按钮。
  2. 选择 在出现的弹出窗口中。
另存为 XLSM 文件
另存为 XLSM 文件
  1. 另存为 对话框中,选择 Excel 文件的目标位置。
  2. 展开 保存类型 下拉菜单并选择 Excel 启用宏的工作簿 选项。
  3. 点击 节省

运行 VBA 脚本

运行宏
运行宏
  1. Alt + F8 推出 对话框。
  2. 选择 发电子邮件 从列表中选择宏。
  3. 点击 跑步 执行。

Excel 将指示 Outlook 应用在后台创建电子邮件草稿并发送。这是一个动态代码,因此当您更改表或数据集时,电子邮件将在下次发送电子邮件时相应更新。

您必须修改代码以使单元格引用与您的 Excel 工作表相匹配。请参阅上述代码中的注释以了解如何自定义脚本。

例如评论“Change "Sheet2" to your sheet name” 告诉您如何在上述脚本中将您自己的工作表名称替换为 "Sheet2" 在代码元素“Set ws = ThisWorkbook.Sheets("Sheet2")

使用 VBA 发送电子邮件
使用 VBA 发送电子邮件

上图显示了我使用上述 Excel VBA 脚本在一秒钟内发送的一堆电子邮件。

如何使用 Office 脚本从 Excel 发送电子邮件

使用 Office 脚本从 Excel 发送电子邮件
使用 Office 脚本从 Excel 发送电子邮件

下面介绍了如何使用 Office 脚本创建 mailto:超链接以在 Outlook 或默认电子邮件客户端中起草电子邮件,然后从电子邮件客户端应用程序发送电子邮件:

  1. 前往 自动化 Excel 功能区中的选项卡。
  2. 点击 新脚本 选项里面 脚本工具 命令块。
  3. 将以下 Office 脚本代码复制并粘贴到 代码编辑器 控制板:
function main(workbook: ExcelScript.Workbook) {
	let selectedSheet = workbook.getActiveWorksheet();
	// Set range G2 on selectedSheet
	selectedSheet.getRange("G2").setFormulaLocal("=HYPERLINK(\"mailto:\"&D2&\"?subject=Pending Invoice ID\"&A2&\"&body=Hi the mentioned invoice ID is pending\"&\" \"&A2&\" \"&F2,\"Send Email\")");
	// Paste to range G3:G6 on selectedSheet from range G2 on selectedSheet
	selectedSheet.getRange("G3:G6").copyFrom(selectedSheet.getRange("G2"), ExcelScript.RangeCopyType.all, false, false);
}
  1. 点击 保存脚本 按钮保存代码。
  2. 点击 跑步 按钮来执行脚本。

上述脚本将创建 发电子邮件 您要从中发送电子邮件的表格数据行旁边的超链接。单击 发电子邮件 链接,Outlook 应用中将显示一封电子邮件草稿。现在,点击 发送 在 Outlook 上将电子邮件发送给每个收件人。

您可以通过以下方式个性化代码,以使其适用于您自己的数据集:

  • D2 应替换为收件人电子邮件的手机地址。
  • A2 也应该用另一个单元格地址替换,并且该单元格的值将显示在主题行中。
  • 如果您想在电子邮件正文中显示特定值,请输入该值的单元格地址来代替 F2
  • 发电子邮件 超链接将显示在单元格中 G2。如果您愿意,可以更改此项。
  • 单元格引用 "G3:G6"selectedSheet.getRange("G3:G6") 复制公式 G2 至所述范围。根据您的数据集更改范围引用,如果您的数据集大于示例,则还请扩展范围。

如何使用 Power Automate 从 Excel 发送电子邮件

以下是使用 Power Automate 从 Excel 表发送电子邮件的步骤:

安装并激活所需的插件

安装 Power Automate 加载项
安装 Power Automate 加载项
  1. 点击 开发人员 选项卡上的 Excel 功能区 菜单。
  2. 前往 插件 阻止并点击 插件 命令。
  3. Office 加载项 对话框中,单击 店铺 按钮。
  4. 类型 电力自动化 在里面 搜索 拳击和击打 进入
  5. 点击 添加 插件右侧的按钮。
登录 Microsoft 365
登录 Microsoft 365
  1. Power Automate Excel 插件将显示在右侧面板中。
  2. 点击 登入 链接选择您的 Microsoft 365 订阅电子邮件 从弹出窗口。

一切就绪!接下来,您将学习如何通过集成 Excel 工作表中的表格数据在 Power Automate 中创建流程。

在 Power Automate 加载项中创建流

创建流程
创建流程
  1. 点击 新的 在插件的顶部边框上开始创建流。
  2. 选择 即时云流 从上下文菜单中。
  3. 通过单击并键入以下内容为流程指定一个新名称,以代替 无标题 名称字段。
添加工作表详细信息
添加工作表的详细信息
  1. 单击 Power Automate 加载项中的以下字段以添加相关数据,以便该工具可以识别您的 Excel 工作表及其表格:
    • 地点
    • 文档库
    • 文件
    • 桌子
  2. 添加完工作表和表格后,单击标题即可折叠该项目。
  3. 现在,点击 下一步 按钮。
添加触发器和操作
添加触发器和操作
  1. 选择操作 对话框将在插件中打开。
  2. 类型 电子邮件 在里面 搜索 框来获取一些用于 Power Automate 的电子邮件连接器。
  3. 从列表中选择所需的电子邮件连接器,例如 Office 365 展望
  4. 现在,点击 发送电子邮件(V2) 选项中的 操作 菜单。

发送电子邮件

发送邮件操作
发送邮件操作
  1. 发送电子邮件(V2) 操作将显示以下电子邮件元素:
  2. 点击 添加动态内容 超级链接。
  3. 现在,您可以在电子邮件中的任何需要的地方引用 Excel 工作表中的数据。
收件人和主题行
收件人和主题行
  1. 在 – 的里面 字段,添加 电子邮件ID 表的列。
  2. 写下主题行文本并添加相关参数,例如 发票编号
电子邮件正文
电子邮件正文
  1. 同样,转到 身体 并输入整封电子邮件。
  2. 在这里,根据需要从 Excel 工作表中添加参数。
  1. 点击 节省 完成电子邮件创建过程。
  2. 现在,返回 Power Automate 插件的主窗口。
设置运行流程
设置运行流程
  1. 您应该看到刚刚创建的流程位于 姓名 部分。
  2. 突出显示您想要发送电子邮件的行(列标题除外)。
  3. 点击 跑步 按钮靠近 按行发送电子邮件 流动。
  4. 点击 继续运行流程 接下来的两个屏幕上的按钮即可完成发送电子邮件。

上图显示了我使用 Power Automate Flow 通过电子邮件使用 Outlook 发送的自动电子邮件。

推荐:WordPress摄影主题Blacksilver

如何使用 Mailto 超链接从 Excel 发送电子邮件

超级链接 Excel 中的函数还允许您自动从 Excel 发送电子邮件。但是,您需要编写复杂的公式才能实现完全自动化。下面是基本的 超级链接 弹出 PC 的电子邮件客户端并起草电子邮件发送的功能

=HYPERLINK("mailto:"&D2&"?subject=Pending Invoice ID"&A2&"&body=Hi the mentioned invoice ID is pending"&" "&A2&" "&F2,"Send Email")

以下是如何在工作表中使用此函数的方法:

  • 收件人的电子邮件应位于单元格中 D2 或者根据您的工作表将其更改为另一个单元格引用。
  • A2 可让您从表格中动态插入发票 ID 或您想要在主题行中提及的任何其他重要信息。在本教程中, 发票编号
  • F2 指的是 应付金额 列中的 桌子 格式也是 文本 功能,以便原始电子邮件可以显示 $ 象征。
HYPERLINK 函数发送电子邮件
HYPERLINK 函数发送电子邮件

上图显示了原始公式以及 Excel 表,以便您可以清楚地了解该方法。

如何使用超链接从 Excel 发送电子邮件
如何使用超链接从 Excel 发送电子邮件

点击 发电子邮件 超链接,如果 Outlook 是您电脑的默认电子邮件客户端,您将在 Outlook 中收到上述电子邮件。

结论

利用 Office 脚本、Excel VBA 和 Power Automate 的强大功能直接从 Excel 发送电子邮件,可以彻底改变您的工作流程并提高工作效率。

无论您是自动执行报告、通知还是与客户和同事的沟通,这些工具都能提供多种解决方案来简化您的任务。

您是否尝试过这些方法,或者在实施过程中遇到任何挑战?我很想听听您的经历,所以请随时在下面的评论中分享您的想法和见解。

推荐:如何在Debian 12 Linux系统上安装AnyDesk


发表评论