可借助Excel、Word邮件合并及Outlook VBA或Power Automate实现工资邮件批量发送:先规范Excel数据源并转为表格,再在Word中插入合并域生成工资条,最后通过VBA脚本或Power Automate自动发送个性化邮件。

如果您需要将Excel中的员工工资数据批量生成并发送个性化邮件,可借助Excel与Word的邮件合并功能,配合Outlook实现自动化操作。以下是具体实施步骤:
一、准备Excel数据源
邮件合并要求数据结构规范,需确保Excel工作表为标准表格格式,且首行为清晰列标题(如“姓名”“邮箱”“基本工资”“绩效”等),无空行、空列或合并单元格。该表将作为邮件内容的数据基础。
1、打开Excel文件,选中包含工资数据的区域(含标题行)。
2、按Ctrl+T创建表格,勾选“表包含标题”,点击确定。
3、检查A列是否为员工姓名,B列为有效邮箱地址,邮箱列必须为文本格式且每行仅含一个完整邮箱,不可含空格或中文逗号。
4、另存为.xlsx格式,关闭其他无关工作表,确保仅保留该数据表所在工作表。
二、在Word中启动邮件合并
Word邮件合并功能可将Excel数据动态插入到固定模板中,生成每份独立的工资条文档,为后续邮件发送提供内容载体。
1、新建空白Word文档,切换至“邮件”选项卡。
2、点击“开始邮件合并”→“邮件合并向导”。
3、在侧边栏中选择“信函”,点击“下一步:正在启动文档”。
4、点击“下一步:选取收件人”→“使用现有列表”→“浏览”,定位并选中前述Excel文件,勾选对应工作表(如Sheet1$),确认。
5、点击“下一步:撰写信函”,将光标置于文档正文位置,依次插入字段:点击“插入合并域”,选择“姓名”,回车后输入“您好!”,再插入“基本工资”“绩效”等字段,字段间需用中文标点或换行分隔,避免字段紧贴导致内容粘连。
三、预览与生成工资条文档
此步骤用于验证数据映射准确性,并输出可供邮件正文直接调用的文本内容,避免发送时出现错位或缺失。
1、点击“下一步:预览信函”,滚动查看各条记录是否显示正确,重点核对姓名与邮箱是否一一对应。
2、发现异常记录时,返回Excel修正原始数据,重新链接数据源。
3、确认无误后,点击“下一步:完成合并”→“编辑单个文档”→“全部”,生成含所有员工工资条的独立Word文档。
4、另存该文档为.docx,保存路径须为英文名称且不含特殊符号,防止Outlook调用失败。
四、通过Outlook VBA自动发送邮件
利用Outlook内置VBA编辑器运行脚本,读取Excel邮箱列与Word工资条内容,逐条构造邮件并发送,无需手动复制粘贴。
1、在Excel中按Alt+F11打开VBA编辑器,插入模块。
2、粘贴以下代码(需修改Outlook对象引用):
Sub SendSalaryEmails()
Dim olApp As Object, olMail As Object
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets(1)
Dim lastRow As Long: lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
Dim i As Long
For i = 2 To lastRow
Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(0)
With olMail
.To = ws.Cells(i, "B").Value
.Subject = "您的工资条-" & ws.Cells(i, "A").Value & "-" & Format(Now, "yyyymmdd")
.HTMLBody = "
尊敬的" & ws.Cells(i, "A").Value & ":
" & "详见附件工资条。
".Attachments.Add "C:\SalaryOutput.docx"
.Send
End With
Next i
End Sub
3、运行前确认Outlook已登录且后台运行,附件路径必须使用绝对路径,且文件名与实际保存名称完全一致。
五、使用Power Automate替代VBA方案
对于禁用VBA或需跨设备执行的场景,Power Automate(原Microsoft Flow)提供图形化流程配置,依赖OneDrive/SharePoint同步Excel与Word模板,规避本地Outlook依赖。
1、登录flow.microsoft.com,新建自动化云流,触发器选“当行已添加或修改时(Excel Online)”,连接目标Excel文件及工作表。
2、添加“获取行”操作,筛选出新增/修改的员工记录。
3、添加“Word Online(Business)— 从模板生成文档”,上传含合并域的Word模板,映射Excel字段至对应占位符。
4、添加“Outlook— 发送邮件(V2)”,设置收件人字段为Excel中邮箱列,主题填入“工资条_”+姓名,正文嵌入生成的Word文档内容(转为PDF后以Base64编码嵌入)。
5、保存流并启用,首次运行需授权OneDrive、Outlook和Word Online三项权限,且Excel文件必须存储于OneDrive for Business或SharePoint。










