Здравствуйте. Я создаю генератор электронной почты для моей бухгалтерии, который будет отправлять клиентам электронное письмо с прикрепленным файлом, который соответствует клиенту.В настоящее время файлы находятся в папке, а имя файла не меняется от месяца к месяцу.В основном мне просто нужно правильное приложение, отправленное правильному клиенту.
Что я пробовал: Я смог заставить генератор работать, если имя вложения было статическим.Мне удалось отправить 3 уникальных электронных письма с одним и тем же вложением во всех 3.
Когда я обновил имя вложения, добавив в него "& row_number" для циклического просмотра клиентов, я начал получать сообщение об ошибке: "438 - Object notn 't поддержать это свойство или метод "
Я выделил все строки кода, которые имеют отношение к приложению ниже.Я действительно близок к завершению, поэтому любая помощь будет высоко ценится.
Вот мой код:
'CREATE EmailGenerator2 FUNCTION that COMBINES custom email, custom subjectline, standard message, rate attachment and hidden logo
**Sub EmailGenerator2(what_address As String, subject_line As String, attachment As String, mail_body As String)**
'ENABLE OUTLOOK APP
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")
Dim olMail As Outlook.MailItem
Set olMail = olApp.CreateItem(olMailItem)
'SET MAIL PARAMETERS
olMail.SentOnBehalfOfName = "pricing@companyname.com"
olMail.To = what_address
olMail.CC = ""
olMail.BCC = ""
olMail.Subject = subject_line
**olMail.attachment = attachment**
olMail.Attachments.Add "R:\Revenue Assurance\10. Databases\Email Generators\International_AZ\logo.png", 1, 0
olMail.BodyFormat = olFormatHTML
olMail.HTMLBody = mail_body
olMail.Send
End Sub
Sub SendMassEmail()
row_number = 1
Do
DoEvents
'CREATE LOOP EVENT
row_number = row_number + 1
**Dim custom_attachment As String**
Dim mail_body_message As String
Dim custom_subject_line As String
**'ADD CUSTOM ATTACHMENT
custom_attachment = Sheets("Sheet2").Range("A8").Value & "\" & Sheets("Sheet1").Range("D" & row_number).Value**
'INSERT BODY FROM SECOND TAB
mail_body_message = Sheet2.Range("A1")
partner_name2 = Sheet1.Range("B" & row_number)
notice_date2 = Sheet1.Range("F2")
payment_date = Sheet1.Range("F5")
mail_body_message = Replace(mail_body_message, "replace_partner_name2", partner_name2)
mail_body_message = Replace(mail_body_message, "replace_notice_date2", notice_date2)
mail_body_message = Replace(mail_body_message, "replace_payment_date", payment_date)
'CREATE CUSTOM SUBJECTLINE
custom_subject_line = Sheet2.Range("A5")
notice_date = Sheet1.Range("F5")
partner_name = Sheet1.Range("B" & row_number)
custom_subject_line = Replace(custom_subject_line, "replace_notice_date", notice_date)
custom_subject_line = Replace(custom_subject_line, "replace_partner_name", partner_name)
'MsgBox custom_subject_line
'GENERATE and SEND EMAIL
**Call EmailGenerator2(Sheet1.Range("C" & row_number), custom_subject_line, custom_attachment, mail_body_message)**
'FINISH DO LOOP event on LAST ROW of COLUMN A
Loop Until row_number = Sheet1.Range("A99999").End(xlUp).Row
End Sub