|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
各位大神,有一个EXCEL模板,可以通过此模板批量发送OUTLOOK邮件,并可以实现不同邮件不同附件,但是有一个问题,不能添加多个附件,希望大神帮助修改代码,谢谢!
模板中:
A列是邮件标题;
B列是收件人名称;
C列是收件人收件箱;
D-J列是邮件附件的名称;(现在发送只能放入D列的附件,其他列的VBA放不进去)
K列是邮件正文。
Sub 全自动发送邮件()
Dim myOlApp As Object
Dim myitem As Object
Dim i As Integer, j As Integer
Dim strg As String
Dim atts As Object
Dim mycc As Object
Dim myfile As String
Set myOlApp = CreateObject("Outlook.Application")
'设置对Sheet1工作表进行操作,可自行修改
With Sheets("Sheet1")
i = 2 '第一行为标题行,从第二行开始
Do While .Cells(i, 2) <> "" '本例中判断当某行第二列为空时,停止发送邮件
'设置调用Outlook来发送邮件
Set myitem = myOlApp.CreateItem(0)
Set atts = myitem.Attachments
myitem.To = .Cells(i, 3) '收件人邮箱地址调用了第3列邮箱的数据
myitem.Subject = .Cells(i, 1) '标题调用了第1列的数据
myitem.Body = .Cells(i, 11)
myfile = Dir(ThisWorkbook.Path & "\" & .Cells(i, 4)) '在本工作薄的根目录下找出附件,且附件的文件名是第四列数据
If myfile <> "" Then myitem.Attachments.Add ThisWorkbook.Path & "\" & myfile, 1
'预览,如果想直接发送,把.display改为.send
'myitem.send
myitem.display
i = i + 1
strg = ""
Loop
End With
Set myitem = Nothing
End Sub
|
|