Выберите несколько писем и сохраните определенные вложения - PullRequest
0 голосов
/ 14 января 2019

У меня есть этот код, который я нашел в Интернете, который сохраняет вложения из выбранных писем в определенную папку. Все письма, которые я получаю на этот конкретный почтовый ящик, находятся в формате PDF.

Проблема: всякий раз, когда в подписи электронного письма или любого другого изображения на теле письма есть логотип, он также сохраняет все эти изображения в виде отдельных файлов. Есть ли способ изменить этот код, чтобы он сохранял только файлы PDF из выбранных писем?

Sub SaveAttachments()
Dim olSelection As Selection
Dim olMail As Object
Dim olAttachments As Attachments
Dim FileCount As Long, i As Long
Dim SaveFolderPath As String

On Error GoTo errHandle
SaveFolderPath = "path"
Set olSelection = ActiveExplorer.Selection

For Each olMail In olSelection
    If TypeName(olMail) = "MailItem" Then
        Set olAttachments = olMail.Attachments
        FileCount = olAttachments.Count

        If FileCount > 0 Then
            For i = FileCount To 1 Step -1
                olAttachments.item(i).SaveAsFile SaveFolderPath & olAttachments.item(i).FileName
            Next i
        End If

        Set olAttachments = Nothing
    End If
Next olMail

Exit Sub
   errHandle:
   MsgBox "Error: " & Err.Description, vbExclamation
End Sub

1 Ответ

0 голосов
/ 14 января 2019

Просто посмотрите последние 4 символа в имени файла

Пример

        If LCase$(Right$(olAttachments.Item(i).FileName, 4)) = ".pdf" Then
            olAttachments.Item(i).SaveAsFile SaveFolderPath & olAttachments.Item(i).FileName
        End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...