Avatar of Tom Skowyrski
Tom Skowyrski
Flag for United Kingdom of Great Britain and Northern Ireland asked on

We need a macro for saving attachments with name of that file and one more thing from the body

We receive emails with pdf invoices and need to save them to the folder. As mentioned we need to save it with current filename and add from the message body the invoice ID. It looks like this in the message: "The invoice number is: 7489. The invoice ID is: 5088." So we need that file to be named like this: 'current filename - invoice ID.pdf'. We use a macro to save those files and we'd like to ask how to modify it to get what we want. This is the macro we've been currently using:

Sub SaveAttachmentsFromSelectedMailItems()
Dim individualItem As Object
Dim att As Attachment
Dim strPath As String
Dim strFileName As String
Dim strExt As String
Dim dicFileNames As Object

    strPath = "C:\Test\"
   
    Set dicFileNames = CreateObject("Scripting.Dictionary")
   
    For Each individualItem In Application.ActiveExplorer.Selection
        If TypeName(individualItem) = "MailItem" Then
            For Each att In individualItem.Attachments
               
                If Not dicFileNames.exists(att.FileName) Then
                    dicFileNames.Add att.FileName, 1
                Else
                              If LCase(Right(strFile, 4)) <> ".pdf"
                    dicFileNames(att.FileName) = dicFileNames(att.FileName) + 1
                End If
               
                strFileName = Split(att.FileName, ".")(0)
                strExt = Split(att.FileName, ".")(1)
               
                att.SaveAsFile strPath & strFileName & "-" & dicFileNames(att.FileName) & "." & strExt
               
            Next att
        End If
    Next individualItem
VB ScriptOutlookPDFVBA

Avatar of undefined
Last Comment
NVIT

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
NVIT

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Tom Skowyrski

ASKER
Hello NVIT,
Sorry for the delayed answer. The macro is working. Thank you very much for your help.
Kind regards,
Tom
NVIT

No worries 👍. Thanks for the update
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy