Как сохранить вложения с разными критериями в двух разных папках в Outlook? - PullRequest
2 голосов
/ 07 июля 2019

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

Мне было интересно, есть ли способ отредактировать это так, чтобы я мог сохранить разные файлы в две разные папки.например, электронная почта с A в теме => сохранить вложение в папке A, электронная почта с B в теме => сохранить вложение в папке B.

Public Sub SaveOutlookAttachmentsToDisk(MItem As Outlook.MailItem)
    Dim oOutlookAttachment As Outlook.Attachment
    Dim sSaveAttachmentsFolder As String
    sSaveAttachmentsFolder = "C:\Users\mason\Desktop\Email Pricing\"
    For Each oOutlookAttachment In MItem.Attachments
        oOutlookAttachment.SaveAsFile sSaveAttachmentsFolder & 
        oOutlookAttachment.DisplayName
    Next
End Sub

Я ничего не знаю о VBA, я просто нашел этот код в Интернете.

Ответы [ 2 ]

1 голос
/ 07 июля 2019

Поскольку это двоичный критерий (A или B), нам не нужно рассматривать обе строки: если он содержит A, сохраните в folderA.В противном случае (что означает, что он содержит B), сохраните в folderB.

Public Sub SaveOutlookAttachmentsToDisk(MItem As Outlook.MailItem)

    Dim oAttach As Outlook.Attachment
    Dim FolderA As String, FolderB As String, StringA As String

    FolderA = "C:\Users\mason\Desktop\Email Fast Racks\"
    FolderB = "C:\Users\mason\Desktop\Email FTS Pricing\"
    StringA = "Fast Racks East Coast"
    For Each oAttach In MItem.Attachments

            If UCase(oAttach.FileName) Like "*.CSV" Then
                If InStr(MItem.Subject, StringA) > 0 Then
                    oAttach.SaveAsFile FolderA & oAttach.DisplayName
                Else
                    oAttach.SaveAsFile FolderB & oAttach.DisplayName
                End If
            End If

    Next oAttach

End Sub

0 голосов
/ 07 июля 2019

Вы также можете просто использовать Выбрать регистр

Пример

Public Sub SaveOutlookAttachmentsToDisk(MItem As Outlook.MailItem)
    Dim oOutlookAttachment As Outlook.Attachment
    Dim sSaveAttachmentsFolder As String

    Debug.Print MItem.Subject

    Select Case MItem.Subject
            '// subject line A
        Case "AAAA"
            sSaveAttachmentsFolder = "C:\Users\mason\Desktop\Email Pricing\AAAA\"
            '// subject line B
        Case "BBBB"
            sSaveAttachmentsFolder = "C:\Users\mason\Desktop\Email Pricing\BBBB\"
        Case Else
            Debug.Print "Subject not found"
            Exit Sub
    End Select

    For Each oOutlookAttachment In MItem.Attachments
        oOutlookAttachment.SaveAsFile sSaveAttachmentsFolder & oOutlookAttachment.DisplayName
    Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...