Here is the macro in the button:
Sub SendDocumentAsAttachment()
Dim wb As Workbook
Dim strdate As String
Dim fac, disemail As String
strdate = Format(Now, "dd-mm-yy h-mm-ss")
Application.ScreenUpdating = False
ActiveSheet.Copy
Set wb = ActiveWorkbook
fac = wb.ActiveSheet.Range("B7").Value
disemail = wb.ActiveSheet.Range("Z7").Value
With wb
.SaveAs "Copy of " & ThisWorkbook.Name _
& " " & strdate & ".xls"
If disemail = "" Then
.SendMail "(e-mail address removed)", _
"Cloverleaf Interface Request for " & fac
Else
.SendMail Array("(e-mail address removed)", disemail), _
"Cloverleaf Interface Request for " & fac
End If
RemoveAllMacros ActiveWorkbook
.Close True
End With
Application.ScreenUpdating = True
ActiveWorkbook.Close True
End Sub
Sub RemoveAllMacros(objDocument As Object)
' deletes all VBProject components from objDocument
' removes the code from built-in components that can't be deleted
' use like this: RemoveAllMacros ActiveWorkbook ' in Excel
' or like this: RemoveAllMacros ActiveWorkbookDocument ' in Word
' requires a reference to the
' Microsoft Visual Basic for Applications Extensibility library
Dim i As Long, l As Long
If objDocument Is Nothing Then Exit Sub
i = 0
On Error Resume Next
i = objDocument.VBProject.VBComponents.Count
On Error GoTo 0
If i < 1 Then ' no VBComponents or protected VBProject
MsgBox "The VBProject in " & objDocument.Name & _
" is protected or has no components!", _
vbInformation, "Remove All Macros"
Exit Sub
End If
With objDocument.VBProject
For i = .VBComponents.Count To 1 Step -1
On Error Resume Next
.VBComponents.Remove .VBComponents(i)
' delete the component
On Error GoTo 0
Next i
End With
With objDocument.VBProject
For i = .VBComponents.Count To 1 Step -1
l = 1
On Error Resume Next
l = .VBComponents(i).CodeModule.CountOfLines
.VBComponents(i).CodeModule.DeleteLines 1, l
' clear lines
On Error GoTo 0
Next i
End With
End Sub