自动将附件从子文件夹中的传入邮件保存到本地驱动器

时间:2019-03-18 12:26:30

标签: vba outlook outlook-vba

我每天都会收到很多带有附件的电子邮件,我正在尝试在Outlook会话中运行以下vba脚本。我的目标是,一旦收到来自特定发件人的电子邮件(该邮件被限制到特定的文件夹atm),该脚本就会在后台自行运行,并将附件保存到桌面上的某个位置。

我尝试了以下操作,但没有任何反应。有人可以帮我吗?

xxxx将代表一个电子邮件地址。 [filepath]将代表所选的文件路径。

谢谢!

Private Sub Application_NewMail()

    Dim onamespace As Outlook.NameSpace
    Set onamespace = Outlook.GetNamespace("MAPI")    
    Dim ofol As Outlook.Folder
    Set ofol = onamespace.GetDefaultFolder(olFolderInbox).Folders("Test")
    Dim sSaveFolder As String
    FilePath = "[filepath]"
    Dim omail As Outlook.MailItem
    Set omail = Outlook.CreateItem(olMailItem)
    Dim atm As Outlook.Attachment

    For Each omail In ofol.Items

        If omail.SenderEmailAddress = "[filepath]" Then
            For Each atm In omail.Attachments
                atm.SaveAsFile FilePath & atm.FileName
            Next
        Else
        End If

    Next

End Sub

0 个答案:

没有答案