Возникла задача организации рассылки писем по списку e-mail пользователей в Excel. В каждом письме будут содержаться некоторые данные, индивидуальные для каждого пользователя, и приложен персональный файл. В этой статье, мы рассмотрим, как использовать Outlook для автоматической рассылки писем по списку из Excel с помощью VBA макроса или PowerShell
Допустим, у нас есть Excel файл, содержащий следующие столбцы:
Email пользователя | ФИО | Время последней смены пароля | Статус учетной записи
В рамках моей задачи нужно каждому пользователю из списка отправить письмо вида:
Сначала рассмотрим небольшой макрос отправки писем на языке VBA (Visual Basic for Applications), который можно создать прямо в документе Excel.
Создайте новый макрос: вкладка Вид -> Макросы . Укажите имя макроса send_email и нажмите кнопку Создать :
Sub send_email()
Dim olApp As Object
Dim olMailItm As Object
Dim iCounter As Integer
Dim Dest As Variant
Dim SDest As String
' тема письма
strSubj = "Статус учетной записи в домене remontka.com"
On Error GoTo dbg
' создаем новый объект типа Outlook
Set olApp = CreateObject("Outlook.Application")
For iCounter = 2 To WorksheetFunction.CountA(Columns(1))
' создаем новый элемент (письмо) в Outlook
Set olMailItm = olApp.CreateItem(0)
strBody = ""
useremail = Cells(iCounter, 1).Value
FullUsername = Cells(iCounter, 2).Value
Status = Cells(iCounter, 4).Value
pwdchange = Cells(iCounter, 3).Value
'формируем тело письма
strBody = "Уважаемый " & FullUsername & vbCrLf
strBody = strBody & "Ваша учетная запись в домене remontka.com " & Status & vbCrLf
strBody = strBody & "Время последней смены пароля: " & pwdchange & vbCrLf
olMailItm.To = useremail
olMailItm.Subject = strSubj
'добавляем вложение, формат имени файла [email protected] . Если вложение не нужно, закомментируйте следующую строку
olMailItm.Attachments.Add ("C:ps" & useremail & "".txt"")
olMailItm.BodyFormat = 1
' 1 - текстовый формат письма2 - HTML формат
olMailItm.Body = strBody
olMailItm.Send
'следующую строку можно использовать для отладки текста письмазакомментировав предыдущую
'MsgBox strBody
Set olMailItm = Nothing
Next iCounter
Set olApp = Nothing
dbg:
'отображение ошибок
Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…
Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…
Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…
The AC power adapter wattage and type cannot be determined — причины и решение При…
Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…
Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…