Download attachments from specific folder in Outlook

前端 未结 2 1645
余生分开走
余生分开走 2021-01-21 13:31

I am not familiar with vba enough to modify this for my needs.

I need to download the attachments from a specific folder.

I found this example, but I am not su

相关标签:
2条回答
  • 2021-01-21 14:19

    Code goes under ThisOutlookSession Update folder Name "Temp"

    Private WithEvents Items As Outlook.Items
    
    Private Sub Application_Startup()
        Dim olNameSpace As Outlook.NameSpace
        Dim olFolder  As Outlook.MAPIFolder
    
        Set olNameSpace = Application.GetNamespace("MAPI")
        Set olFolder = olNameSpace.GetDefaultFolder(olFolderInbox).Folders("TEMP")
        Set Items = olFolder.Items
    End Sub
    
    Private Sub Items_ItemAdd(ByVal Item As Object)
        If TypeOf Item Is Outlook.MailItem Then
            SaveAttachments Item
        End If
    End Sub
    
    '// http://www.slipstick.com/developer/save-attachments-to-the-hard-drive/
    Public Sub SaveAttachments(Item As Outlook.MailItem)
    
        If Item.Attachments.Count > 0 Then
    
            Dim objAttachments As Outlook.Attachments
            Dim lngCount As Long
            Dim strFile As String
            Dim sFileType As String
            Dim i As Long
    
            Set objAttachments = Item.Attachments
                lngCount = objAttachments.Count
            For i = lngCount To 1 Step -1
    
                ' Get the file name.
                strFile = objAttachments.Item(i).FileName
    
                ' Get the path to your My Documents folder
                strFolderpath = CreateObject("WScript.Shell").SpecialFolders(16)
                strFolderpath = strFolderpath & "\Attachments\"
    
                ' Combine with the path to the folder.
                strFile = strFolderpath & strFile
    
                ' Save the attachment as a file.
                objAttachments.Item(i).SaveAsFile strFile
    
            Next i
        End If
    
    End Sub
    
    0 讨论(0)
  • 2021-01-21 14:30

    To open a folder on the same level as your Inbox, open Inbox, then go one level up to its parent, then retrieve your folder by name:

    set MyFolder = Application.Session.GetDefaultFolder(olFolderInbox).Parent.Folders.Item("My Folder Name")
    
    0 讨论(0)
提交回复
热议问题