Здесь есть две проблемы - во-первых, это доступ к вложенным вложениям сообщений без их сохранения сначала в виде файла MSG.Во-вторых, это импорт файлов MSG обратно - вы можете использовать Application.CreateItemFromTemplate, но элемент не будет отправлен.Вы можете использовать Namespace.OpenSharedItem, а затем использовать MailItem.Move, но это все еще кладезь.
Не так много вы можете сделать в одной только OOM.Расширенный MAPI будет работать, но это только C ++ или Delphi.Если вы используете опцию Redemption (я ее автор), вы можете использовать свойство EmbeddeedMsg
, предоставляемое объектом Redemption RDOAttachment .Вы также можете использовать RDOMail . CopyTo
и передать папку в качестве параметра для копирования вложенного вложения сообщения в папку:
Set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set redItem = Session.GetMessageFromId(OutlookMessage.EntryID)
set redFolder = Session.GetFolderFromId(OutlookFolder.EntryID)
for each attach in redItem.Attachments
if attach.Type = olEmbeddeditem Then
attach.EmbeddedMsg.CopyTo OutlookFolder
End If
next