Sub btn_SendReport() Dim OlApp As Object Dim NewMail As Object Dim TempFilePath As String Dim FileExt As String Dim TempFileName As String Dim FileFullPath As String Dim MyWb As Workbook Set MyWb = ThisWorkbook With Application .ScreenUpdating = False .EnableEvents = False End With 'Save workbook in temp folder of your system 'below code gets the full path of the temporary folder 'in your system TempFilePath = Environ$("temp") & "\" 'gets the extension of the file 'below line will return the extension 'of the file FileExt = "." & LCase(Right(MyWb.Name, Len(MyWb.Name) - InStrRev(MyWb.Name, ".", , 1))) 'append a date and time stamp 'in your new file TempFileName = "SSC_Document_Tracking" & " " & Format(Now, "dd-mmm-yy") 'Complete path of the file where it is saved FileFullPath = TempFilePath & TempFileName & FileExt 'saves your currect workbook at the above path MyWb.SaveCopyAs FileFullPath 'open a new mail Set OlApp = CreateObject("Outlook.Application") Set NewMail = OlApp.CreateItem(0) On Error Resume Next With NewMail .To = "natalie.blanchard@dxc.com;eric.desjardins6@canada.ca;alex.dubois3@canada.ca" .CC = "" .BCC = "" .Subject = "SSC_Document_Tracking" & " " & Format(Now, "dd-mmm-yy") .Body = "Hello," & vbNewLine & vbNewLine & "Please find attached the SSC_Document_Tracking spreadsheet for the month of " & Format(DateAdd("m", -1, Date), "mmmm") & "." & vbNewLine & vbNewLine & "Thank you," & vbNewLine & vbNewLine .Attachments.Add FileFullPath '--- full path of the temp file where it is saved .Display End With On Error GoTo 0 'Now delete the temp file from the temp folder Kill FileFullPath 'set nothing to the objects created Set NewMail = Nothing Set OlApp = Nothing 'Now set the application properties back to true With Application .ScreenUpdating = True .EnableEvents = True End With End Sub