我必须从 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
- 按照屏幕截图所示设置数据表
- 使用Alt+打开 Excel VBA 编辑器F11
- 将上面的代码复制并粘贴到某处
- 返回 Excel 并使用Alt+执行宏F8
您还可以填写 CC、BCC 或使用不同的签名(如果需要)。如果我们可以仔细查看您的数据透视表,则可以修改代码以与您的工作簿配合使用。