Save .msg attachment as .rtf

  • Thread starter Thread starter hlock
  • Start date Start date
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!!
 
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!!
 
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!!

> .
>
 
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!!
 
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!!


> .
>
 
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!!

>

>
>> .
> >
 

> 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>
 
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>
 
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.
 
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.
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
G Save emails as msg file from Outlook Web AddIn (Office JS) Outlook VBA and Custom Forms 0
E Outlook 365 Save Selected Email Message as .msg File - oMail.Delete not working when SEARCH Outlook VBA and Custom Forms 0
E Save Selected Email Message as .msg File - digitally sign email doesn't works Outlook VBA and Custom Forms 1
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
M Save as Adobe PDF misses inline graphics Using Outlook 0
Sandgroper48 Save vbaProject Outlook VBA and Custom Forms 2
J Outlook 2019 Pick the Folder Location to save send emails Outlook VBA and Custom Forms 0
boblewis Technical Issue with Custom Form - Save to Drafts Not Syncing Outlook VBA and Custom Forms 1
Rob Can't save MailItem because the message changed in .pst file Outlook VBA and Custom Forms 0
M Outlook Macro to save as Email with a file name format : Date_Timestamp_Sender initial_Email subject Outlook VBA and Custom Forms 0
C Outlook 365 Copy/Save Emails in Folder Outside Outlook to Show Date Sender Recipient Subject in Header Using Outlook 0
W Create a Quick Step or VBA to SAVE AS PDF in G:|Data|Client File Outlook VBA and Custom Forms 1
C Outlook (desktop app for Microsoft365) restarts every time I save my VBA? Using Outlook 1
D VBA Macro to Print and Save email to network location Outlook VBA and Custom Forms 1
N VBA Macro To Save Emails Outlook VBA and Custom Forms 1
N Save emails within a certain date range to network drive Outlook VBA and Custom Forms 0
T Outlook 365 Move newly created tasks automatically on save. 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 17
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

Similar threads

Back
Top