-1

Я думаю, что может быть способ сделать это с VBA, но я не могу найти никакой документации о том, как добавлять вложения через VBA.

Вот пример кода, который я нашел:

Sub SendMultipleEmails()
Dim objMail As Outlook.MailItem
Dim intX As Integer


For intX = 1 To 10 'Or get the value of intX from a file count
Set objMail = Application.CreateItem(olMailItem)
objMail.Subject = "My subject line"
objMail.Body = "My message body"
objMail.To = "
objMail.Attachments.Add "C:\temp\myfile.doc"
objMail.Send
Set objMail = Nothing
Next
End Sub

Моя единственная задача сейчас - создать цикл, который позволит мне отправлять разные вложения каждому получателю. Получатели будут расположены в алфавитном порядке, а файлы - тоже, так что достаточно просто использовать порядковый номер файла в цикле.

1 ответ1

1

Это очень просто позволяет пользователю отправлять электронные письма нескольким получателям с разными вложениями для каждого. В своей электронной таблице я помещаю электронные письма и пути к файлам в ячейки, и цикл For выбирает каждого отдельного получателя и файл каждый раз, когда он проходит.

Sub SendMultipleEmails()

Dim Mail_Object, OutApp As Variant


 With ActiveSheet
    lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
    End With

For i = 2 To lastrow

Set Mail_Object = CreateObject("Outlook.Application")
Set OutApp = Mail_Object.CreateItem(0)

    With OutApp
    .Subject = "Your subject here"
    .Body = "Your message here"
    .To = Cells(i, 2).Value
    .Attachments.Add Cells(i, 4).Value
    .send
    End With

Next i

debugs:
If Err.Description <> "" Then MsgBox Err.Description

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .