Это будет циклически проходить по каждому файлу в каталоге, который является MSG-файлом. Вы не использовали OpenSharedItem, поэтому вам может потребоваться прямой & "\" & myfile вместо просто myfile.Я не рекомендую использовать ActiveWorkbook.Path, но, возможно, у вас нет другого пути, например, попросить пользователя выбрать папку в FolderPicker?
direct = ActiveWorkbook.Path
myfile = Dir(direct, "*.msg") 'sets myfile equal to the first file name
Do While myfile <> "" 'loops until there are no more files in the directory
Set mailDoc = olApp.Session.OpenSharedItem(myfile)
Sheets("sheet1").Range("a1").Offset(i) = mailDoc.SentOn
Sheets("sheet1").Range("a1").Offset(i, 1) = mailDoc.Sender
Sheets("sheet1").Range("a1").Offset(i, 2) = mailDoc.Subject
mailDoc.Close False
i = i + 1
myfile = Dir
Loop