从 Excel 表向多个用户发送电子邮件

从 Excel 表向多个用户发送电子邮件

我必须从 Excel 表格向一些用户发送多封电子邮件。我的表格包含多个用户,每个用户都有一些行,其中包含一些操作。

        action              user
        ===============     =====
row1    lore ipsum 1        user1
        lore ipsum 2        
        lore ipsum 4        
        lore ipsum 5        
row2    lore ipsum 3        user2
        lore ipsum 1        
row3    lore ipsum 2        user3

这是一个数据透视表,我需要做的就是向每个用户发送以下类型的邮件:

您好“用户”,您本月进行了以下操作:

“传说 ipsum1” “传说 ipsum2” “传说 ipsum3”

我知道我可以使用 Word 来实现这一点,但我无法为拥有多行的用户添加多个操作。我该怎么做?谢谢

答案1

在 Excel 中使用 VBA 发送邮件(如果您已安装 Outlook)

此示例假设存在一个这种格式的简单 Excel 表。
在此处输入图片描述

Sub SendMailsFromList()
    Dim objOutlook As Object
    Dim objMail As Object
    Dim i As Integer

    Set objOutlook = CreateObject("Outlook.Application")

    With ActiveSheet
         For i = 2 To .Columns(1).Find("*", [A1], , , xlByRows, xlPrevious).Row
         
            Set objMail = objOutlook.CreateItem(0)
            objMail.To = CStr(.Cells(i, 1))
            objMail.Subject = .Cells(i, 2)
            objMail.Body = .Cells(i, 3)
            objMail.Send
            Set objMail = Nothing
        
        Next i
    End With

    Set objOutlook = Nothing
End Sub
  1. 按照屏幕截图所示设置数据表
  2. 使用Alt+打开 Excel VBA 编辑器F11
  3. 将上面的代码复制并粘贴到某处
  4. 返回 Excel 并使用Alt+执行宏F8

您还可以填写 CC、BCC 或使用不同的签名(如果需要)。如果我们可以仔细查看您的数据透视表,则可以修改代码以与您的工作簿配合使用。

使用的资源

相关内容