Макрос, приведенный ниже, предназначен для получения количества электронных писем, подсчета количества вложений в каждой почте и последующего поиска определенных форматов файлов. Затем он записывает то, что он нашел в определенной таблице Excel.Вложения электронной почты, записанные в Excel
Макрос работает отлично, но теперь я хочу добавить в другой сценарий. Сценарий, который я хочу добавить, заключается в том, что если в письме содержится более 1 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"
GoTo CSVyes 'if a .csv file is found, it skips to the PDF attachment checker
Else
csv_report = "NO"
End If
Next
CSVyes:
For i2 = 1 To .Attachments.Count
If LCase(Right(.Attachments(i2).Filename, 4)) = ".pdf" Then
pdf_report = "YES"
GoTo PDFyes 'if a .pdf file is found, it skips to the XLS attachment checker
Else
pdf_report = "NO"
End If
Next
PDFyes:
For i2 = 1 To .Attachments.Count
If LCase(Right(.Attachments(i2).Filename, 4)) = ".xls" Or LCase(Right(.Attachments(i2).Filename, 5)) = ".xlsx" Or UCase(Right(.Attachments(i2).Filename, 4)) = ".XLS" Then
xls_report = "YES"
GoTo XLSyes 'if a .xls file is found, it skips to the end of the checks
Else
xls_report = "NO"
End If
Next
XLSyes:
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
Извините, если я не уточнил. Но это приведет к появлению сообщения электронной почты с 1 CSV-файлом как «Несколько». Я хочу, чтобы он оставался «YES» для 1, но «Multiple» для тех, у кого есть более 1 – redd
Чек мой ответ ниже. –