Not tested, but try this
Sub Test()
Application.ScreenUpdating = False
Set OL = CreateObject("Outlook.Application")
Set EmailItem = OL.CreateItem(olMailItem)
Filename = List1.Text '& " - " & ActiveWorkbook.name
Debug.Print Filename
sNewDir = "C:\test"
MkDir sNewDir
savename = sNewDir & "\" & StripChars(Filename, "[/,\\,*,?,"",<,>,|,:]", "")
ActiveSheet.Copy
Set Wb = ActiveWorkbook
Wb.SaveCopyAs savename
Wb.ChangeFileAccess xlReadOnly
With EmailItem
.Subject = txtsubject
.Body = txtmessage
.To = Txtname
.Attachments.Add Wb.FullName
.Send
End With
Kill Wb.FullName
Wb.Close False
Application.ScreenUpdating = True
Set Wb = Nothing
Set OL = Nothing
Set EmailItem = Nothing
End Sub
Function StripChars(exp, reWhat As String, reWith As String)
Dim oRegExp As Object
Set oRegExp = CreateObject("VBScript.RegExp")
oRegExp.Pattern = reWhat
oRegExp.Global = True
StripChars = oRegExp.Replace(exp, reWith)
End Function