ShellExecute 0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
this is not automating outlook, but using mailto which will open a message from whatever is the default email client on the system
there is no attachments.add method for this, the attachment has to be part of the string

maybe like
att = "C:\Users\NRosli2\Desktop\attachment\" & "Probation Appraisal Form" & ".doc"
URL = "mailto:" & Email & "?subject=" & Subj & "&body=" & Msg & "&att:filename=" & att
which is pretty much what i posted in your other thread
if you want to have full control over the email, you should look at automating outlook, or using CDO instead