Body disappears in 2002 when creating an item from a saves msgattachment

  • Thread starter Thread starter Peter Marchert
  • Start date Start date
P

Peter Marchert

Hello,

I try to reference a message which is attached to an e-mail. I use the
following code to save the attachment first and then set a reference
to it:

Sub test()

Dim objReply As Outlook.MailItem
Dim objItem As Outlook.MailItem

Set objReply = Outlook.ActiveExplorer.Selection(1)

Call objReply.Attachments.Item(1).SaveAsFile("C:\test1.msg")
' open "C:\test1.msg" via windows explorer -> body is ok

Set objItem = Outlook.CreateItemFromTemplate("C:\test1.msg")
Debug.Print objItem.Body ' -> body is ok
Call objItem.SaveAs("C:\test2.msg", olMSG)
' open "C:\test2.msg" via windows explorer in 2002 -> body is
blank
' open "C:\test2.msg" via windows explorer in 2003/2007 -> body is
ok, but no PR_BODY property exists

Set objItem = Nothing
Set objReply = Nothing

End Sub

As you can see in the comments the body disappears when opening the
saved msg file in 2002.

If I use RDO the message is completely empty (e. g. subject):

Sub test2()

Dim objRDOMail As Object
Dim objRDOAtt As Object
Dim objRDOSession As Object

Set objRDOSession = CreateObject("Redemption.RDOSession")
objRDOSession.MAPIOBJECT = Outlook.Session.MAPIOBJECT

Set objReply = Outlook.ActiveExplorer.Selection(1)
Call objReply.Attachments.Item(1).SaveAsFile("C:\test1.msg")

Set objRDOMail = objRDOSession.CreateMessageFromMsgFile("C:
\test1.msg")
objRDOMail.SaveAs "C:\test2.msg"
' open "C:\test2.msg" via windows explorer in 2002 -> message is
blank

End Sub

I want to ask if there is a workarround or a simplier way to get the
reference to an attached message.

Thanks
Peter
 
Hi Peter,

with RDO object you can directly open the attachment, you don't need to save
it as a file. Does that workaround the empty body?

--
Best regards
Michael Bauer - MVP Outlook

: Outlook Categories? Category Manager Is Your Tool
: VBOffice Reporter for Data Analysis & Reporting
: <http://www.vboffice.net/product.html?pub=6&lang=en>


Am Fri, 30 Oct 2009 04:09:04 -0700 (PDT) schrieb Peter Marchert:
 
On 3 Nov., 21:21, "Michael Bauer [MVP - Outlook]" <[email protected]>
wrote:

Hello Michael,

thanks for your reply.

I'm not sure. I tested a lot the last days but finally I have no
solution (the users of 2002 gets a message to do something by hand).

The code is not easy and at least I think with RDO the body was ok,
but I cannot send the message without error (I replace attachments in
the attached message with OOM after the send event had fired).

May be I try something at a later time with RDO, but it seems to me I
have to rewrite great parts of the code to implement this.

Thanks
Peter
 
Back
Top