Предполагая, что все остальное в коде работает должным образом.Затем вам необходимо добавить следующую строку перед методом olMail.Send
.Пример:
olMail.attachments.Add Sheets("Sheet1").Range("E2").Value, olByValue, , "sampleFile"
Более подробную информацию о методе attachments.add можно найти здесь Вложения Добавить
Функция отправки почты будет выглядеть следующим образом:
Sub SendEmail(what_address As String, subject_line As String, mail_body As String)
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")
Dim olMail As Outlook.MailItem
Set olMail = olApp.CreateItem(olMailItem)
olMail.To = what_address
olMail.Subject = subject_line
olMail.Body = mail_body
olMail.attachments.Add Sheets("Sheet1").Range("E2").Value, olByValue, , "sampleFile"
olMail.Send
End Sub
Редактировать 1: Я думаю, ваш вопрос был в том, как включить несколько вложений в электронное письмо.Тогда вы можете попробовать это:
Sub SendEmail(what_address As String, subject_line As String, mail_body As String)
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")
Dim olMail As Outlook.MailItem
Dim lastRow As Integer
Set olMail = olApp.CreateItem(olMailItem)
'Provide the Column where the attachment links are stored. I guess its E in your case
lastRow = Sheets("Sheet1").Range("E" & Rows.Count).End(xlUp).Row
olMail.To = what_address
olMail.Subject = subject_line
olMail.Body = mail_body
'Loop through the column and add the attachments to the Email
For i = 2 To lastRow
.attachments.Add Sheets("Sheet1").Range("E" & i).Value, olByValue
Next i
olMail.Send
End Sub