Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd _
        As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As _
        String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub Email_yolla_dosyayı_bul_manuel_ekle()
Dim i As Long
Dim dosyam As String
Dim mail(0 To 4) As String

mail(0) = "tvural@ford.com.tr"
mail(1) = "excelord@excelvba.net"
mail(2) = "tarkanvural@hotmail.com"
mail(3) = "Rapor: %D"
mail(4) = "%D tarihli raporunuz..."
dosyam = "c:\test.txt"

' yeni bir mail mesaj kutusu oluşturalım
i = ShellExecute(0, vbNullString, "mailto:" & mail(0) & "?CC=" & mail(1) & _
"&BCC=" & mail(2) & "&Subject=" & Replace(mail(3), "%D", _
Format(Date, "dd.mm.yyyy") & "(" & WeekdayName(Weekday(Date, vbMonday), , vbMonday) & ")") & _
"&Body=" & Replace(mail(4), "%D", Format(Date, "dd.mm.yyyy") & _
" (" & WeekdayName(Weekday(Date, vbMonday), , vbMonday) & ")"), vbNullString, "", 1)
   
'Eklemek istediğiniz dosyayı bulalım,
'Sürükle bırak yöntemiyle mailimize manuel olarak ( attach )  ekleyelim.
i = Shell("explorer """ & dosyam & """,/select", vbNormalNoFocus)
End Sub