Макрос в настоящее время установлен на .Display
электронное письмо и не отправляется. После того, как вы закончили выполнение тестов, вы можете изменить это значение на .Send
, чтобы фактически отправить электронное письмо.
Вам также необходимо обновить значение strLocation
. В кавычках вы должны указать местоположение папки, в которой находятся все ваши целевые PDF-файлы.
Порядок ваших ячеек здесь не имеет значения, если каждая строка связана с одним человеком.
Надеемся, что эти электронные письма являются внутренними - вы не должны использовать это для внешних списков рассылки, так как вы не можете предлагать возможность отказаться от подписки. Outlook может пометить / заблокировать вашу учетную запись, если вас подозревают в спаме.
Предполагается, что значения в Column C
являются действительными адресами электронной почты, которые будут распознаваться Outlook как есть. (urdearboy@email.com)
Sub CorpCard()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo cleanup
For Each cell In Columns("C").Cells.SpecialCells(xlCellTypeConstants)
If cell.Value Like "?*@?*.?*" Then
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.SentOnBehalfOfName = "[your associated Outlook email here]"
.to = cell.Value
.Subject = "Subject goes here"
.Body = "Hi " & Range("B" & cell.Row).Value & "," _
'Body to be patsed here
strLocation = "C:\Users\urdearboy\Desktop\File Name\" & Cells(cell.Row, "D").Value & ".pdf"
.Attachments.Add (strLocation)
.Display
'.Send
End With
On Error GoTo 0
Set OutMail = Nothing
End If
Next cell
cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub