Я в основном пытаюсь создать отчет для моего крупномасштабного макроса. В отчете будет показано, как обрабатываются все почтовые сообщения и какие вложения находятся в письме.Отчет о вложениях электронной почты в Outlook
У меня есть следующий код, который работает, но не дает мне правильные результаты только для файлов .csv. Может ли кто-нибудь увидеть какие-либо проблемы, которые я не могу?
If .Attachments.Count = 0 Then
csv_report = "NO"
pdf_report = "NO"
xls_report = "NO"
End If
If .Attachments.Count > 0 Then
For i2 = 1 To .Attachments.Count
If LCase(Right(.Attachments(i2).Filename, 4)) = ".csv" Then
csv_report = "YES"
Else
csv_report = "NO"
End If
If LCase(Right(.Attachments(i2).Filename, 4)) = ".pdf" Then
pdf_report = "YES"
Else
pdf_report = "NO"
End If
If LCase(Right(.Attachments(i2).Filename, 4)) = ".xls" Or LCase(Right(.Attachments(i2).Filename, 5)) = ".xlsx" Then
xls_report = "YES"
Else
xls_report = "NO"
End If
Next
End If
Sheets("Mail Report").Activate
Range("C65000").End(xlUp).Offset(1).Value = csv_report
Range("D65000").End(xlUp).Offset(1).Value = pdf_report
Range("E65000").End(xlUp).Offset(1).Value = xls_report
subject_line = mail.Subject
Range("A65000").End(xlUp).Offset(1).Value = subject_line
Большая проблема, которую я вижу, заключается в том, что вы не используете циклы 'For Each'. –
Пробовал ли вы отлаживать код и видеть фактическое значение FileName? –
Как бы я построил циклы «Для каждого»? Я попробую использовать msgBox для отладки кода – redd