Обработка ошибок VBA: нескольких вложений один может не существовать - PullRequest
0 голосов
/ 28 июня 2018

Следующий код используется для прикрепления ежедневного отчета к электронной почте и отправки в предварительно определенный список рассылки. К сожалению, не все файлы существуют каждый день, и когда один из файлов отсутствует, электронное письмо не создается. Я пытался использовать команду «on error resume next», но безрезультатно. Есть ли другой способ обработки ошибки? Может отсутствовать любой файл, но обычно это Report2.

Sub SendMail2()

'defined in previous sub either "" or depending on vbyesno response
'amf = "AM"
'amg = "\AM"
'amk = " AM"


Dim dlApp As Outlook.Application
Dim olMail As Outlook.MailItem

Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)

On Error Resume Next

With olMail
 .To = "<EMAIL LIST>"
 .CC = "<EMAIL LIST>"
 .Subject = "Subject" & " - " & Format(Date, "mm.dd.yy")
 .Body = "Attached are the report details."

'attachments may or may not exist but any of these attachments that does exist should be included in the email

 .Attachments.Add ("O:\Reports\" & Format(Date, "mm.dd.yy") & amg &     "\report " & Format(Date, "mm.dd.yy") & amk & ".pdf")
 .Attachments.Add ("O:\Reports\" & Format(Date, "mm.dd.yy") & amg & "\report " & Format(Date, "mm.dd.yy") & amk & ".xls")


'error often occurs because this report2 does not exist for the day

.Attachments.Add ("O:\Reports\" & Format(Date, "mm.dd.yy") & amg & "\report2 " & Format(Date, "mm.dd.yy") & amk & ".pdf")
.Attachments.Add ("O:\Reports\" & Format(Date, "mm.dd.yy") & amg & "\report2 " & Format(Date, "mm.dd.yy") & amk & ".xls")
 .Display
  ''olMail.Send

End With

Set olMail = Nothing
Set olApp = Nothing

Call SendMail3

End Sub

Спасибо, Jay

...