The position property determines where the file is placed. I suppose that if you have an input box to fill in the body of the message you could count the number of characters (spaces included) add one to resulting number and use this value in the position property. In the first code below I opted to use 999 that seems to give enough room for a detailed message body. The second group I use .HTMLBody with a <br> at the end of the message. This sticks the attachment into a frame on the bottom of the message. The second set of code would probably do the trick.
Hope this helps! jelwood01
Private Sub cmdSendAtt_Click()
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
Set appOutLook = CreateObject("Outlook.Application"

Set MailOutLook = appOutLook.CreateItem(olMailItem)
With MailOutLook
.To = "Buddy@Buddy.com"
.Subject = "TEST"
.Body = "TEST"
.Attachments.Add "C:\Stuff.doc", olByValue, 999, "Proposal"
.Send
End With
End Sub
Private Sub cmdSendAtt_Click()
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
Set appOutLook = CreateObject("Outlook.Application"

Set MailOutLook = appOutLook.CreateItem(olMailItem)
With MailOutLook
.To = "Buddy@Buddy.com"
.Subject = "TEST"
.HTMLBody = "TEST<br>"
.Attachments.Add "C:\Stuff.doc", olByValue, 1, "Proposal"
.Send
End With
End Sub