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 工作簿中时,您可以按照本文下面提到的方法自动完成整个电子邮件发送过程。
我能想到的其他几个主要原因如下:
- 您可以使用 Excel 生成自动报告并通过电子邮件发送,以确保只需单击即可及时传递给相关收件人。
- 您还可以轻松地与同事或客户分享数据分析或计算的结果。
- 您可以随时使用 Excel 来安排和发送会议、约会或截止日期的提醒。
- 对于小规模的电子邮件营销,可以使用Excel来管理联系人列表和发送促销材料。
- Excel 可以帮助您管理宾客名单并发送活动邀请或最新消息。
- 自动化人力资源流程,例如向新员工发送录用通知书、入职信息或培训材料。
- 您可以安排自动通过电子邮件向经理或客户发送绩效报告,以展示成就和进步。
如何使用 Excel VBA 从 Excel 发送电子邮件
这是通过引用 Excel 工作表中的数据集来自动批量发送电子邮件的最简单、最直观的方法之一。以下是您必须遵循的说明:
创建 VBA 脚本并以 XLSM 格式保存工作簿
- 按 Alt + F11 提出 Excel VBA 编辑器 工具。
- 在那里,点击 插入 按钮。
- 点击创建一个新模块 模块 选项。
- 在新模块中,复制并粘贴以下 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
- 点击 节省 按钮。
- 选择 不 在出现的弹出窗口中。
- 在 另存为 对话框中,选择 Excel 文件的目标位置。
- 展开 保存类型 下拉菜单并选择 Excel 启用宏的工作簿 选项。
- 点击 节省。
运行 VBA 脚本
- 按 Alt + F8 推出 宏 对话框。
- 选择 发电子邮件 从列表中选择宏。
- 点击 跑步 执行。
Excel 将指示 Outlook 应用在后台创建电子邮件草稿并发送。这是一个动态代码,因此当您更改表或数据集时,电子邮件将在下次发送电子邮件时相应更新。
您必须修改代码以使单元格引用与您的 Excel 工作表相匹配。请参阅上述代码中的注释以了解如何自定义脚本。
例如评论“Change "Sheet2" to your sheet name
” 告诉您如何在上述脚本中将您自己的工作表名称替换为 "Sheet2"
在代码元素“Set ws = ThisWorkbook.Sheets("Sheet2")
”
上图显示了我使用上述 Excel VBA 脚本在一秒钟内发送的一堆电子邮件。
如何使用 Office 脚本从 Excel 发送电子邮件
下面介绍了如何使用 Office 脚本创建 mailto:超链接以在 Outlook 或默认电子邮件客户端中起草电子邮件,然后从电子邮件客户端应用程序发送电子邮件:
- 前往 自动化 Excel 功能区中的选项卡。
- 点击 新脚本 选项里面 脚本工具 命令块。
- 将以下 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);
}
- 点击 保存脚本 按钮保存代码。
- 点击 跑步 按钮来执行脚本。
上述脚本将创建 发电子邮件 您要从中发送电子邮件的表格数据行旁边的超链接。单击 发电子邮件 链接,Outlook 应用中将显示一封电子邮件草稿。现在,点击 发送 在 Outlook 上将电子邮件发送给每个收件人。
您可以通过以下方式个性化代码,以使其适用于您自己的数据集:
D2
应替换为收件人电子邮件的手机地址。A2
也应该用另一个单元格地址替换,并且该单元格的值将显示在主题行中。- 如果您想在电子邮件正文中显示特定值,请输入该值的单元格地址来代替
F2
。 - 这 发电子邮件 超链接将显示在单元格中
G2
。如果您愿意,可以更改此项。 - 单元格引用
"G3:G6"
在selectedSheet.getRange("G3:G6")
复制公式G2
至所述范围。根据您的数据集更改范围引用,如果您的数据集大于示例,则还请扩展范围。
如何使用 Power Automate 从 Excel 发送电子邮件
以下是使用 Power Automate 从 Excel 表发送电子邮件的步骤:
安装并激活所需的插件
- 点击 开发人员 选项卡上的 Excel 功能区 菜单。
- 前往 插件 阻止并点击 插件 命令。
- 在 Office 加载项 对话框中,单击 店铺 按钮。
- 类型 电力自动化 在里面 搜索 拳击和击打 进入。
- 点击 添加 插件右侧的按钮。
- Power Automate Excel 插件将显示在右侧面板中。
- 点击 登入 链接选择您的 Microsoft 365 订阅电子邮件 从弹出窗口。
一切就绪!接下来,您将学习如何通过集成 Excel 工作表中的表格数据在 Power Automate 中创建流程。
在 Power Automate 加载项中创建流
- 点击 新的 在插件的顶部边框上开始创建流。
- 选择 即时云流 从上下文菜单中。
- 通过单击并键入以下内容为流程指定一个新名称,以代替 无标题 名称字段。
- 单击 Power Automate 加载项中的以下字段以添加相关数据,以便该工具可以识别您的 Excel 工作表及其表格:
- 地点
- 文档库
- 文件
- 桌子
- 添加完工作表和表格后,单击标题即可折叠该项目。
- 现在,点击 下一步 按钮。
- 这 选择操作 对话框将在插件中打开。
- 类型 电子邮件 在里面 搜索 框来获取一些用于 Power Automate 的电子邮件连接器。
- 从列表中选择所需的电子邮件连接器,例如 Office 365 展望。
- 现在,点击 发送电子邮件(V2) 选项中的 操作 菜单。
发送电子邮件
- 这 发送电子邮件(V2) 操作将显示以下电子邮件元素:
- 点击 添加动态内容 超级链接。
- 现在,您可以在电子邮件中的任何需要的地方引用 Excel 工作表中的数据。
- 在 – 的里面 到 字段,添加 电子邮件ID 表的列。
- 写下主题行文本并添加相关参数,例如 发票编号。
- 同样,转到 身体 并输入整封电子邮件。
- 在这里,根据需要从 Excel 工作表中添加参数。
- 点击 节省 完成电子邮件创建过程。
- 现在,返回 Power Automate 插件的主窗口。
- 您应该看到刚刚创建的流程位于 姓名 部分。
- 突出显示您想要发送电子邮件的行(列标题除外)。
- 点击 跑步 按钮靠近 按行发送电子邮件 流动。
- 点击 继续 和 运行流程 接下来的两个屏幕上的按钮即可完成发送电子邮件。
上图显示了我使用 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
指的是 应付金额 列中的 桌子 格式也是 文本 功能,以便原始电子邮件可以显示 $ 象征。
上图显示了原始公式以及 Excel 表,以便您可以清楚地了解该方法。
点击 发电子邮件 超链接,如果 Outlook 是您电脑的默认电子邮件客户端,您将在 Outlook 中收到上述电子邮件。
结论
利用 Office 脚本、Excel VBA 和 Power Automate 的强大功能直接从 Excel 发送电子邮件,可以彻底改变您的工作流程并提高工作效率。
无论您是自动执行报告、通知还是与客户和同事的沟通,这些工具都能提供多种解决方案来简化您的任务。
您是否尝试过这些方法,或者在实施过程中遇到任何挑战?我很想听听您的经历,所以请随时在下面的评论中分享您的想法和见解。