I'm very new to VBA and found a code online that sends emails to multiple recipients but can only attach 1 file per email. I cannot find a code that works wherein it goes to a specific folder and attaches all PDF files that are stored in the folder and goes to a different folder and does the same for the next email recipient. The image shows the structure of the sheet that I am working on. I'm using Office 365.
Need help please, thank you.
Here's the Excel structure:
Here's my code:
<code style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; vertical-align: baseline; box-sizing: inherit; white-space: inherit;">Sub SendMail()
ActiveWorkbook.RefreshAll
Dim objOutlook AsObject
Dim objMail AsObject
Dim ws As Worksheet
Set objOutlook = CreateObject("Outlook.Application")
Set ws = ActiveSheet
OnErrorGoTo MyHandler
ForEach cell In ws.Range("A2:A2000")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To= cell.Value
.Cc ="email@email.com"
.Subject = cell.Offset(0,1).Value
.Body = cell.Offset(0,2).Value
.Attachments.Add cell.Offset(0,3).Value
.Display
EndWith
Set objMail =Nothing
Next cell
Set ws =Nothing
Set objOutlook =Nothing
MyHandler:
MsgBox "Review email messages"
EndSub</code>
Need help please, thank you.
Here's the Excel structure:
Here's my code:
<code style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; vertical-align: baseline; box-sizing: inherit; white-space: inherit;">Sub SendMail()
ActiveWorkbook.RefreshAll
Dim objOutlook AsObject
Dim objMail AsObject
Dim ws As Worksheet
Set objOutlook = CreateObject("Outlook.Application")
Set ws = ActiveSheet
OnErrorGoTo MyHandler
ForEach cell In ws.Range("A2:A2000")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To= cell.Value
.Cc ="email@email.com"
.Subject = cell.Offset(0,1).Value
.Body = cell.Offset(0,2).Value
.Attachments.Add cell.Offset(0,3).Value
.Display
EndWith
Set objMail =Nothing
Next cell
Set ws =Nothing
Set objOutlook =Nothing
MyHandler:
MsgBox "Review email messages"
EndSub</code>