夜雨聆风学习资料网

ARTICLE · 1277597

Excel-VBA月报报表挨个发邮件太耗时间!VBA读取表格,自动填正文、带上附件一键推送

Excel-VBA月报报表挨个发邮件太耗时间!VBA读取表格,自动填正文、带上附件一键推送
每月固定给客户、部门发报表,复制邮箱、粘贴文字、选择附件、点击发送,重复机械操作。这套基于Outlook的VBA,读取当前行信息,自动生成邮件正文,自动绑定附件,一键批量发送。
前提:电脑安装Outlook并正常登录账号,WPS邮件、网页邮箱不适用。
✅ 功能说明
1. 读取表格里:收件邮箱、名称、备注、附件路径
​
2. 自动拼接邮件主题、自定义正文
​
3. 自动绑定附件,支持单个附件
​
4. 邮件先弹出预览,确认无误再手动点发送
​
5. 可改成静默自动发送
❤️完整代码
Sub Outlook自动发邮件带附件()
    Dim olApp As Object
    Dim olMail As Object
    Dim ws As Worksheet
    Dim lastRow As Long, i As Long
    Dim sendMail As String, name As String, subject As String, body As String, fileLink As String

    Set ws = ActiveSheet
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    '====参数区:表头在第1行,数据从第2行开始====
    'A列:姓名  B列:收件邮箱  C列:附件完整路径 D列:邮件主题
    '==========================================
    If lastRow < 2 Then
        MsgBox "没有待发送数据!", vbExclamation
        Exit Sub
    End If

    Set olApp = CreateObject("Outlook.Application")

    For i = 2 To lastRow
        sendMail = Trim(ws.Cells(i, "B").Value)
        name = Trim(ws.Cells(i, "A").Value)
        subject = Trim(ws.Cells(i, "D").Value)
        fileLink = Trim(ws.Cells(i, "C").Value)

        If sendMail <> "" Then
            Set olMail = olApp.CreateItem(0)
            '邮件正文,可自由修改排版
            body = name & ":" & vbCrLf & vbCrLf & _
                   "您好,对应的报表已附上,请查收。" & vbCrLf & _
                   "如有疑问随时沟通。" & vbCrLf & vbCrLf & _
                   "顺颂商祺"

            With olMail
                .To = sendMail
                .Subject = subject
                .Body = body
                '判断附件是否存在
                If Dir(fileLink) <> "" Then
                    .Attachments.Add fileLink
                End If
                .Display '弹出邮件窗口确认;改成 .Send 自动发送,慎用
            End With
        End If
    Next i

    MsgBox "全部邮件生成完毕,请核对发送!", vbInformation
    Set olMail = Nothing
    Set olApp = Nothing
End Sub
使用说明:
表格列规划(第1行表头)
A:收件人名称|B:邮箱地址|C:附件完整路径(D:\报表\xxx.xlsx)|D:邮件主题
注意事项
1. 必须是Outlook客户端,企业邮箱、个人邮箱都要先在Outlook登录好
​
2.  .Display  弹窗预览,安全优先;改成  .Send  会直接发出去,出错很难撤回
​
3. 附件路径不能错,路径里不要有特殊字符
​
4. 正文文字可以自己改写换行、增加表格内容
vba专业开发,关注收藏不迷路,excel办公自动化,解放双手提高效率
Excel-vba批量打印:按A列分组,自动分页打印,每组单独一页
VBA一键拆分工作表!按列自动分Sheet/分独立文件,十万行数据不卡顿
VBA神器批量跨文件查询回填,数组版,替代VLOOKUP,十万行提速
别再手动找数据!Excel万能查询公式
轻松掌握Excel数据透视,释放数据潜力

相关学习资料