Save .msg attachment as .rtf

Status
Not open for further replies.
H

hlock

If an email has a .msg attachment, I need to save it off as an .rtf

attachment. Is there a way to do this?

If lngCount > 0 Then

' We need to use a count down loop for

' removing items from a collection. Otherwise,

' the loop counter gets confused and only every

' other item is removed.

For i = lngCount To 1 Step -1

Dim path As String

' Get the file name.

strfile = objAttachments.Item(i).FileName

'Check filename of attachment to see if .msg

If Right(strfile, 3) = "msg" Then

strfile = Replace(strfile, " ", "_")

strfile = strfile & ".rtf"

path = fso.BuildPath(tempdir, strfile)

objAttachments.Item.SaveAsFile path, olRTF

ExecCmd "ttimport.exe " & app & " " & strfile

Else

strfile = Replace(strfile, " ", "_")

'Combine with the path to the Temp folder.

strfile = tempdir & strfile

' Save the attachment as a file.

objAttachments.Item(i).SaveAsFile strfile

ExecCmd "ttimport.exe " & app & " " & strfile

End If

Next i

End If

Thanks!!
 

Michael Bauer

Senior Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
As far as I know Outlook can save only rtf formatted messages as rtf files.

Best regards

Michael Bauer

Am Wed, 18 Nov 2009 09:31:03 -0800 schrieb hlock:


> If an email has a .msg attachment, I need to save it off as an .rtf
> attachment. Is there a way to do this?

> If lngCount > 0 Then
> ' We need to use a count down loop for
> ' removing items from a collection. Otherwise,
> ' the loop counter gets confused and only every
> ' other item is removed.
> For i = lngCount To 1 Step -1
> Dim path As String
> ' Get the file name.
> strfile = objAttachments.Item(i).FileName
> 'Check filename of attachment to see if .msg
> If Right(strfile, 3) = "msg" Then
> strfile = Replace(strfile, " ", "_")
> strfile = strfile & ".rtf"
> path = fso.BuildPath(tempdir, strfile)
> objAttachments.Item.SaveAsFile path, olRTF
> ExecCmd "ttimport.exe " & app & " " & strfile
> Else
> strfile = Replace(strfile, " ", "_")
> 'Combine with the path to the Temp folder.
> strfile = tempdir & strfile
> ' Save the attachment as a file.
> objAttachments.Item(i).SaveAsFile strfile
> ExecCmd "ttimport.exe " & app & " " & strfile
> End If
> Next i
> End If
> Thanks!!
 
H

hlock

What about fooling it? Can we copy all of the aspects of the .msg (To, From,

CC, Subject, Body, etc) and create and .rtf. We are trying to avoid

importing .msg files into our document respository system since who knows

what email system we may be on later down the road. Any thoughts... If this

might work, how would I go about doing this?

"Michael Bauer " wrote:



> As far as I know Outlook can save only rtf formatted messages as rtf files.

> > Best regards
> Michael Bauer

> > >

> Am Wed, 18 Nov 2009 09:31:03 -0800 schrieb hlock:
>
> > If an email has a .msg attachment, I need to save it off as an .rtf
> > attachment. Is there a way to do this?
> > If lngCount > 0 Then
> > ' We need to use a count down loop for
> > ' removing items from a collection. Otherwise,
> > ' the loop counter gets confused and only every
> > ' other item is removed.
> > For i = lngCount To 1 Step -1
> > Dim path As String
> > ' Get the file name.
> > strfile = objAttachments.Item(i).FileName
> > 'Check filename of attachment to see if .msg
> > If Right(strfile, 3) = "msg" Then
> > strfile = Replace(strfile, " ", "_")
> > strfile = strfile & ".rtf"
> > path = fso.BuildPath(tempdir, strfile)
> > objAttachments.Item.SaveAsFile path, olRTF
> > ExecCmd "ttimport.exe " & app & " " & strfile
> > Else
> > strfile = Replace(strfile, " ", "_")
> > 'Combine with the path to the Temp folder.
> > strfile = tempdir & strfile
> > ' Save the attachment as a file.
> > objAttachments.Item(i).SaveAsFile strfile
> > ExecCmd "ttimport.exe " & app & " " & strfile
> > End If
> > Next i
> > End If
> > Thanks!!

> .
>
 
D

Dmitry Streblechenko

Do you really mean embedded message attachments or regular attachments with

an .MSG extension?

Dmitry Streblechenko (MVP)

-

"hlock" <hlock> wrote in message

news:6D14954F-17DD-4B1E-91EA-DE0BB6A8B4FC@microsoft.com...
> If an email has a .msg attachment, I need to save it off as an .rtf
> attachment. Is there a way to do this?

> If lngCount > 0 Then
> ' We need to use a count down loop for
> ' removing items from a collection. Otherwise,
> ' the loop counter gets confused and only every
> ' other item is removed.
> For i = lngCount To 1 Step -1
> Dim path As String
> ' Get the file name.
> strfile = objAttachments.Item(i).FileName
> 'Check filename of attachment to see if .msg
> If Right(strfile, 3) = "msg" Then
> strfile = Replace(strfile, " ", "_")
> strfile = strfile & ".rtf"
> path = fso.BuildPath(tempdir, strfile)
> objAttachments.Item.SaveAsFile path, olRTF
> ExecCmd "ttimport.exe " & app & " " & strfile
> Else
> strfile = Replace(strfile, " ", "_")
> 'Combine with the path to the Temp folder.
> strfile = tempdir & strfile
> ' Save the attachment as a file.
> objAttachments.Item(i).SaveAsFile strfile
> ExecCmd "ttimport.exe " & app & " " & strfile
> End If
> Next i
> End If
> Thanks!!
 
H

hlock

It's a regular attachment.

"Dmitry Streblechenko" wrote:


> Do you really mean embedded message attachments or regular attachments with
> an .MSG extension?

> > Dmitry Streblechenko (MVP)
>

>

>

> -
> "hlock" <hlock> wrote in message
> news:6D14954F-17DD-4B1E-91EA-DE0BB6A8B4FC@microsoft.com...
> > If an email has a .msg attachment, I need to save it off as an .rtf
> > attachment. Is there a way to do this?
> > If lngCount > 0 Then
> > ' We need to use a count down loop for
> > ' removing items from a collection. Otherwise,
> > ' the loop counter gets confused and only every
> > ' other item is removed.
> > For i = lngCount To 1 Step -1
> > Dim path As String
> > ' Get the file name.
> > strfile = objAttachments.Item(i).FileName
> > 'Check filename of attachment to see if .msg
> > If Right(strfile, 3) = "msg" Then
> > strfile = Replace(strfile, " ", "_")
> > strfile = strfile & ".rtf"
> > path = fso.BuildPath(tempdir, strfile)
> > objAttachments.Item.SaveAsFile path, olRTF
> > ExecCmd "ttimport.exe " & app & " " & strfile
> > Else
> > strfile = Replace(strfile, " ", "_")
> > 'Combine with the path to the Temp folder.
> > strfile = tempdir & strfile
> > ' Save the attachment as a file.
> > objAttachments.Item(i).SaveAsFile strfile
> > ExecCmd "ttimport.exe " & app & " " & strfile
> > End If
> > Next i
> > End If
> > Thanks!!


> .
>
 
D

Dmitry Streblechenko

You can try to save the attachment as an MSG file and then import it back

using Application.CreateItemFromTemplate, butt that will wipe out teh sender

and recipeint related properties.

<plug
You can use Redemption to open the MSG file directly using

RDOSession.GetMessageFromMsgFile, and then call RDOMail.SaveAs ..., olRtf

</plug

Dmitry Streblechenko (MVP)

-

"hlock" <hlock> wrote in message

news:07C87BFE-0454-48E1-9742-F0037234C771@microsoft.com...
> It's a regular attachment.

> "Dmitry Streblechenko" wrote:
>
> > Do you really mean embedded message attachments or regular attachments
> > with
> > an .MSG extension?
>

>> > > Dmitry Streblechenko (MVP)
> >

> >

> >

> > -
> > "hlock" <hlock> wrote in message
> > news:6D14954F-17DD-4B1E-91EA-DE0BB6A8B4FC@microsoft.com...
> > > If an email has a .msg attachment, I need to save it off as an .rtf
> > > attachment. Is there a way to do this?
> >> > If lngCount > 0 Then
> > > ' We need to use a count down loop for
> > > ' removing items from a collection. Otherwise,
> > > ' the loop counter gets confused and only every
> > > ' other item is removed.
> > > For i = lngCount To 1 Step -1
> > > Dim path As String
> > > ' Get the file name.
> > > strfile = objAttachments.Item(i).FileName
> > > 'Check filename of attachment to see if .msg
> > > If Right(strfile, 3) = "msg" Then
> > > strfile = Replace(strfile, " ", "_")
> > > strfile = strfile & ".rtf"
> > > path = fso.BuildPath(tempdir, strfile)
> > > objAttachments.Item.SaveAsFile path, olRTF
> > > ExecCmd "ttimport.exe " & app & " " & strfile
> > > Else
> > > strfile = Replace(strfile, " ", "_")
> > > 'Combine with the path to the Temp folder.
> > > strfile = tempdir & strfile
> > > ' Save the attachment as a file.
> > > objAttachments.Item(i).SaveAsFile strfile
> > > ExecCmd "ttimport.exe " & app & " " & strfile
> > > End If
> > > Next i
> > > End If
> > > Thanks!!

>

>
>> .
> >
 

Michael Bauer

Senior Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server

> RDOSession.GetMessageFromMsgFile, and then call RDOMail.SaveAs ..., olRtf


Would that preserve formattings of an html message?

Best regards

Michael Bauer

Am Wed, 18 Nov 2009 16:32:19 -0700 schrieb Dmitry Streblechenko:


> You can try to save the attachment as an MSG file and then import it back
> using Application.CreateItemFromTemplate, butt that will wipe out teh


sender
> and recipeint related properties.
> <plug
> You can use Redemption to open the MSG file directly using
> RDOSession.GetMessageFromMsgFile, and then call RDOMail.SaveAs ..., olRtf
> </plug>
 
D

Dmitry Streblechenko

That depends on whether the HTML is stored as RTF wrapped HTML in

PR_RTF_COMPRESSED.

Dmitry Streblechenko (MVP)

-

"Michael Bauer " <mb@mvps.org> wrote in message

news:1q1i9mgr883am$.1rc3v9f8ojwbo$.dlg@40tude.net...

>
> > RDOSession.GetMessageFromMsgFile, and then call RDOMail.SaveAs ..., olRtf


> Would that preserve formattings of an html message?

> > Best regards
> Michael Bauer

> >

> Am Wed, 18 Nov 2009 16:32:19 -0700 schrieb Dmitry Streblechenko:
>
> > You can try to save the attachment as an MSG file and then import it back
> > using Application.CreateItemFromTemplate, butt that will wipe out teh

> sender
> > and recipeint related properties.
> > <plug
>> You can use Redemption to open the MSG file directly using
> > RDOSession.GetMessageFromMsgFile, and then call RDOMail.SaveAs ..., olRtf
> > </plug>
 

Michael Bauer

Senior Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
Is there any way a user can control that?

Best regards

Michael Bauer

Am Thu, 19 Nov 2009 09:48:09 -0700 schrieb Dmitry Streblechenko:


> That depends on whether the HTML is stored as RTF wrapped HTML in
> PR_RTF_COMPRESSED.
 
D

Dmitry Streblechenko

Nope. It is what the message stores.

Dmitry Streblechenko (MVP)

-

"Michael Bauer " <mb@mvps.org> wrote in message

news:gfhf07xgwazd.1s9u8pyjx5vfc$.dlg@40tude.net...

> Is there any way a user can control that?

> > Best regards
> Michael Bauer

> >

> Am Thu, 19 Nov 2009 09:48:09 -0700 schrieb Dmitry Streblechenko:
>
> > That depends on whether the HTML is stored as RTF wrapped HTML in
> > PR_RTF_COMPRESSED.
 

Michael Bauer

Senior Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
Thanks Dmitry

Best regards

Michael Bauer

Am Thu, 19 Nov 2009 11:31:51 -0700 schrieb Dmitry Streblechenko:


> Nope. It is what the message stores.
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
N Save Selected Email Message as .msg File Outlook VBA and Custom Forms 12
G VBA to save selected Outlook msg with new name in selected network Windows folder Outlook VBA and Custom Forms 1
nathandavies Email Details to Excel & Save as .MSG on one macro - combination of 2 macros Outlook VBA and Custom Forms 3
Diane Poremsky Save Selected Email Message as .msg File Using Outlook 11
M Save selected email message as .msg file (with user to choose folder location) Outlook VBA and Custom Forms 14
W Save all incomming and sent mails to folder on PC as .msg files Using Outlook 6
J Code to Save Email as an .MSG to Directory when Emails Arrive Outlook VBA and Custom Forms 4
P Save Email as .msg File with Code Outlook VBA and Custom Forms 5
B Save e-mail to .msg file Outlook VBA and Custom Forms 4
Q How do I create a custom action for a rule? (Save as "Nfy.MSG") Outlook VBA and Custom Forms 1
G Save attachment run a script rule Outlook VBA and Custom Forms 0
G Save and Rename Outlook Email Attachments Outlook VBA and Custom Forms 0
D Outlook 2016 64bit, Cannot Save in 'HTML', format Using Outlook 1
N Save selected messages VBA does not save replies and/or messages that contain : in subject Outlook VBA and Custom Forms 1
L Macro to add Date & Time etc to "drag to save" e-mails Outlook VBA and Custom Forms 8
S save attachment with date & time mentioned inside the file Outlook VBA and Custom Forms 0
S Add VBA save code Using Outlook 0
A Edit attachment Save and Reply Outlook VBA and Custom Forms 0
S Outlook (2016 32bit; Gmail IMAP) - Save sent message to Outllook Folder Outlook VBA and Custom Forms 0
P Outlook pst file is too huge with POP3. How to save more space? Using Outlook 4
D Prevent popup of "Do you want to save changes?" when closing after opening an appointment to view Outlook VBA and Custom Forms 2
A Unable to save recurring Meeting to Documents folder due to error Using Outlook 2
M Outlook 2013 Script Assistance - Save Opened Link with Subject Added Outlook VBA and Custom Forms 1
R Use an ItemAdd to Save Attachments on Arrival Outlook VBA and Custom Forms 0
W Outlook Calendar does not save view any longer! Using Outlook 3
S automate save the .xlxs file to share Network Using Outlook 1
S save email from excel Outlook VBA and Custom Forms 1
Y Open and Save Hyperlink Files in multiple emails Outlook VBA and Custom Forms 9
9 Outlook 2016 How to save an Outlook attachment to a specific folder then delete the email it came from? Using Outlook 1
O Save attachments using hotkey without changing attributes Outlook VBA and Custom Forms 1
geofferyh Cannot get Macro to SAVE more than one message attachment??? Outlook VBA and Custom Forms 5
N Open & Save VBAProject.Otm using VBA Code Outlook VBA and Custom Forms 1
R VBA | Chosing path to save file Outlook VBA and Custom Forms 1
W Save and rename outlook email attachments to include domain name & date received Outlook VBA and Custom Forms 4
V Change default default save location to Quick Access Using Outlook 1
W Save Outlook attachment in network folder and rename to current date and time Outlook VBA and Custom Forms 18
C Change default "Save Sent Item To" folder Outlook VBA and Custom Forms 9
C Outlook - cannot save subject line changes Using Outlook 2
J Save E-mail attachments in a specific folder Outlook VBA and Custom Forms 0
I Outlook 2016 64bit - on receipt convert emails into PDF and save Outlook VBA and Custom Forms 2
V VB script code to save a specific email attachment from a given email Outlook VBA and Custom Forms 14
C Auto save outlook attachments when email is received Outlook VBA and Custom Forms 1
N editing drafts - won't let me save Using Outlook 12
C Need VBA code to automatically save message outside outlook and add date Outlook VBA and Custom Forms 1
D Save Sent Item to Using Outlook 0
Diane Poremsky Export (Save) Outlook Contact photos Using Outlook 0
Diane Poremsky Save Messages and Attachments to a New Folder Using Outlook 0
B Delete/replace old files and save new attachments Using Outlook 1
E Outlook 2016 and Numerous Prompts to Save Emails Using Outlook 3
Diane Poremsky Save Outlook Email as a PDF Using Outlook 0

Similar threads

Top