I'm having a similar dilemma, I think.
I received a dozen emails. Each of them has a dozen more emails as
attachments (.eml files). Each of these has multiple attachmetns that are
files like PDFs, CSVs, etc.
I'm having trouble accessing the attachments of the attachments using VBA.
You would need to first convert the EML files (which Outlook does not
understand natively) to regular messages.
There is nothing in OOM that can help you. Outlook 2002 and higher expose
IConverterSEssion object that can be used for conversion in Extended MAPI
(C++ or Delphi only).
<plug>
you can use Redemption to import EML files to Outlook (see
SafeMailItem.Import) or (if you do not want the temporary messages in
Outlook) you can create temporary standalone MSG files and import EML files:
set Session = CreateObject("Redemption.RDOSession")
set Msg = Session.CreateMessageFromMsgFile("c:\temp\test.msg", "IPM.Note",
1)
Msg.Import "c:\Temp\attach.eml", 1024
Msg.Save
MsgBox Msg.Attachments.Count
</plug>

Signature
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
> I'm having a similar dilemma, I think.
>
[quoted text clipped - 3 lines]
>
> I'm having trouble accessing the attachments of the attachments using VBA.
Homr Zodyssey - 29 May 2008 17:46 GMT
I misspoke when I said they were EML files. They were MSG files. I ended
up fixing the problem by saving each MSG file to disk then opening it.
Sub saveAttachments(mitem As MailItem)
Dim att_mitem As MailItem
Dim new_fname As String
For i = 1 To mitem.Attachments.Count
Select Case mitem.Attachments.item(i).Type
Case olByValue
fileCount = fileCount + 1
new_fname = "C:\attachments\" & Right("0000" & fileCount, 4)
& "." & Right(mitem.Attachments.item(i).FileName, 3)
LogMessage (vbTab & mitem.Attachments.item(i).FileName & "
--> " & new_fname)
mitem.Attachments.item(i).SaveAsFile (new_fname)
Case olEmbeddeditem
mitem.Attachments.item(i).SaveAsFile
("C:\attachments\tmp.msg")
Set att_mitem =
Application.CreateItemFromTemplate("C:\attachments\tmp.msg")
LogMessage ("**" & vbTab & att_mitem.Subject)
saveAttachments att_mitem
End Select
Next
End Sub
> You would need to first convert the EML files (which Outlook does not
> understand natively) to regular messages.
[quoted text clipped - 26 lines]
> >
> > I'm having trouble accessing the attachments of the attachments using VBA.