January 27, 2020

Send Emails to Multiple Persons with Multiple Attachments

How to send emails to multiple persons with multiple attachments automatically with VBA.
Here’s the complete VBA code:
Option Explicit

Sub sendEmailsToMultiplePersonsWithMultipleAttachments()

Dim OutApp As Object
Dim OutMail As Object
Dim sh As Worksheet
Dim cell As Range
Dim FileCell As Range
Dim rng As Range

With Application
.EnableEvents = False
.ScreenUpdating = False
End With

Set sh = Sheets(“Sheet1”)

Set OutApp = CreateObject(“Outlook.Application”)

For Each cell In sh.Columns(“A”).Cells.SpecialCells(xlCellTypeConstants)

‘path/file names are entered in the columns D:M in each row
Set rng = sh.Cells(cell.Row, 1).Range(“D1:M1”)

If cell.Value Like “?*@?*.?*” And _
Application.WorksheetFunction.CountA(rng) > 0 Then
Set OutMail = OutApp.CreateItem(0)

With OutMail
.to = sh.Cells(cell.Row, 1).Value
.CC = sh.Cells(cell.Row, 2).Value
.Subject = “Details attached as discussed”
.Body = sh.Cells(cell.Row, 3).Value

For Each FileCell In rng.SpecialCells(xlCellTypeConstants)

If Trim(FileCell.Value) <> “” Then
If Dir(FileCell.Value) <> “” Then
.Attachments.Add FileCell.Value
End If
End If
Next FileCell
‘.Send
.display
End With

Set OutMail = Nothing
End If
Next cell

Set OutApp = Nothing

With Application
.EnableEvents = True
.ScreenUpdating = True
End With

End Sub

One thought on “Send Emails to Multiple Persons with Multiple Attachments

  1. Hi sir , I used VBA code in word file for mail-merge. In this VBA i prepared 10 increment letter of employees in PDF file.
    Now I want a VBA CODE in which i will protect these PDF files with with a unique password for each employee increment latter and then send this protected PDF file to each employee on his email address.
    Can you provide me VBA Code for it. Waiting For your cool response Thanks in advance

Comments are closed.