Прикрепление файла к электронной почте Outlook, который соответствует правильному клиенту - PullRequest
0 голосов
/ 22 февраля 2019

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

Что я пробовал: Я смог заставить генератор работать, если имя вложения было статическим.Мне удалось отправить 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...