邮件附件通过vbamacros
我正在运行一个macros通过Outlook通过一个或多个附件发送邮件给多个收件人通过VBA的Excel。 我不太熟悉macros,因此从各种来源获得了一些input,并且出现在下面的最终代码中。
不过,我已经提到最大。 限制3个文件附件,这是所有收件人常数,但不得不通过注释禁用,每当我只需要附加只有1或2个文件,如在下面的代码,我已经禁用第二和第三附件列附加1文件。 有没有什么办法可以让macros根据input的值自动获取input,例如,如果一个收件人有1个附件,而下一个收件人有2个或3个附件
Sub SendMail() Dim objOutlook As Object Dim objMail As Object Dim ws As Worksheet Set objOutlook = CreateObject("Outlook.Application") Set ws = ActiveSheet For Each cell In ws.Range("A2:A1000") Set objMail = objOutlook.CreateItem(0) With objMail .To = cell.Value .Cc = cell.Offset(0, 1).Value .Bcc = cell.Offset(0, 2).Value .Subject = cell.Offset(0, 3).Value .Body = cell.Offset(0, 4).Value .Attachments.Add cell.Offset(0, 5).Value '.Attachments.Add cell.Offset(0, 6).Value '.Attachments.Add cell.Offset(0, 7).Value .Send End With Set objMail = Nothing Next cell Set ws = Nothing Set objOutlook = Nothing End Sub
Dim i As Long, c As Range '.... With objMail .To = cell.Value .Cc = cell.Offset(0, 1).Value .Bcc = cell.Offset(0, 2).Value .Subject = cell.Offset(0, 3).Value .Body = cell.Offset(0, 4).Value For i = 5 to 6 Set c = cell.Offset(0, i) If c.Value <> "" Then .Attachments.Add c.Value Next i .Send End With '....