We help IT Professionals succeed at work.
Get Started

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

Tom Skowyrski
on
100 Views
Last Modified: 2019-12-23
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
Comment
Watch Question
End-user support
CERTIFIED EXPERT
Commented:
This problem has been solved!
Unlock 1 Answer and 3 Comments.
See Answer
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE