Пользователь выберет адрес электронной почты, и мне нужно сохранить все его вложения в папку + этот адрес электронной почты без вложения в отдельной папке.Outlook VBA - Сохранение вложений и электронной почты отдельно
Я написал код, и это, кажется, работает хорошо, за исключением одного большого выпуска:
Вложений удаляются из оригинальной электронной почты также из моей папки Входящие. После удаления вложений я вызываю метод SaveAs, поэтому я думаю, что этого не должно произойти.
Вот код, который я написал:
Dim objMailItemOriginal As Outlook.MailItem
Dim objMailItemNew As Outlook.MailItem
Dim objNameSpaceUserNS As Outlook.namespace
Dim emailPath$, tmpFolder$
Set objMailItemOriginal = Application.ActiveExplorer.Selection(1)
Set objMailItemNew = Application.CreateItem(olMailItem)
Set objNameSpaceUserNS = Application.GetNamespace("MAPI")
tmpFolder = Environ("Temp") & "\" & Format$(Now, "hh_mm_ss")
MkDir tmpFolder
emailPath = Environ$("Temp") & "\tmpEmail.msg"
Dim attachPath$
For i = objMailItemOriginal.Attachments.Count To 1 Step -1
attachPath = tmpFolder & "\" & objMailItemOriginal.Attachments(i)
objMailItemOriginal.Attachments(i).SaveAsFile attachPath
objMailItemNew.Attachments.Add attachPath
objMailItemOriginal.Attachments.Remove (i)
Next
objMailItemOriginal.SaveAs emailPath
objMailItemOriginal.Close olDiscard
Любой прогноз эксперта, пожалуйста?
Спасибо! Это сработало – Tejas