Как связать приложения Office 2000 с помощью VBA. На примере Outlook и Excel
Листинг 2. Функция SendMail в модуле класса clsEmailMerge
Public Function SendMail() As Integer ‘ отправка писем Dim olMail As MailItem Dim olTemplateRecipient As Recipient Dim olRecipient As Recipient Dim xlDataRow As Range Dim nCount As Integer On Error GoTo EmailSendError ‘ Просмотр в цикле строк, входящих в заданный диапазон данных For nCount = 1 To DataRange.Rows.Count Set xlDataRow = DataRange.Rows(nCount) ‘ Создание нового элемента электронной ‘ почты Set olMail = CreateItem(olMailItem) ‘ Слияние строки Subject olMail.Subject = ParseString(Template.Subject, xlDataRow ‘ Слияние текста сообщения olMail.Body = ParseString(Template.Body,xlDataRow) ‘ Копирует всех получателей, ‘ которые могут быть указаны в шаблоне For Each olTemplateRecipient In Template.Recipients Set olRecipient = _ olMail.Recipients.Add(olTemplateRecipient.Name) olRecipient.Type = olTemplateRecipient.Type Next olTemplateRecipient ‘ Объединяет список получателей со столбцом Address в Excel If AddressCol <> 0 Then ‘ Устанавливает адрес на основании ‘ данных ‘ столбца, который использовался для ‘ определения имени получателя olMail.To = xlDataRow.Cells(1, AddressCol).Value End If olMail.Send ‘ Отправляет сообщение ‘ Next nCount SendMail = 0 ‘ Сообщает об отсутствии ошибок Exit Function EmailSendError: SendMail = 1 ‘ Сообщает об ошибке End Function