Você estava perto (-ish). O principal problema é a falta do \
de myEmailPath
. Adicionando isso (e removendo o enviro &
estranho) leva a esta declaração:
Const myEmailPath = "H:\Testing\XY\Emails\"
Seu código para salvar o email agora deve funcionar como está. No entanto, tomei a liberdade de estendê-lo para incluir também o assunto conforme sua exigência:
myItem.SaveAs myEmailPath & vDate & " " & myItem.Subject & ".msg"
No entanto, como o assunto pode conter caracteres que são proibidos em um nome de arquivo, seria melhor remover esses caracteres. O código a seguir fará exatamente isso (para o Windows):
'v0.1.1
Dim strSubject As String: strSubject = myItem.Subject
Dim varForbiddenChar
For Each varForbiddenChar In Split("\ / : * ? "" < > |")
strSubject = Replace(strSubject, varForbiddenChar, "-")
Next varForbiddenChar
É claro que o código de decapagem de caracteres precisa ser inserido logo antes do código para salvar o e-mail, e o código precisa ser modificado da seguinte forma:
myItem.SaveAs myEmailPath & vDate & " " & strSubject & ".msg"