Автоматически загружать / сохранять вложения из Outlook 2013 в определенную папку. В приведенных ниже сценариях написано «ошибка времени выполнения: 13 несоответствие типов» - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть несколько невидимых вложений в электронную почту в офисе. Я хотел бы загрузить его автоматически при получении от конкретного отправителя. Я использую outlook 2013.

Private Sub Application_NewMail()

Dim onamespace As Outlook.NameSpace
Set onamespace = Outlook.GetNamespace("MAPI")

Dim myfol As Outlook.Folder
Set myfol = onamespace.GetDefaultFolder(olFolderInbox)

Dim omail As Outlook.MailItem
Set omail = Outlook.CreateItem(olMailItem)
Dim atmt As Outlook.attachment

For Each omail In myfol.Items

    If omail.SenderEmailAddress = "@gmail.com" Then

        For Each atmt In omail.Attachments

            atmt.SaveAsFile "C:\Users\raj\Downloads\" & atmt.fileName

        Next

    Else
    End If

Next

End Sub

Спасибо заранее! Радж

1 Ответ

0 голосов
/ 06 ноября 2018

Вы можете создать макрос правил , когда вы получаете электронное письмо от конкретного отправителя и запускаете скрипт.

Об автоматическом сохранении вложений вы можете обратиться по этой ссылке:

Public Sub Save_Attachment(olItem As Outlook.MailItem)
    Dim olAttch As Outlook.Attachment
    Dim sPath As String

    'sPath = Environ("USERPROFILE") & "\Documents\"
    sPath = "C:\Temp\"

For Each olAttch In olItem.Attachments
       If olAttch.UnRead = True Then
           If olAttch.SenderEmailAddress = "someone@example.com" Then
               olAttch.SaveAsFile sPath & "\" & olAttch.DisplayName
               olAttch.UnRead = false
           End If
       End If
    Next

    Set olAttch = Nothing
End Sub

Ссылка от:

Сохранить вложение с именем отправителя входящего электронного письма или адресом электронной почты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...