Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I open an outlook .msg file from my harddrive that is NOT in outlook?

I have searched high and low for this seemingly simple task, but all references I come across are either saving to the hard-drive or reading from an outlook folder.

I have the following code that loops through file names in a folder on my hard-drive, but I do not know how to take that path and open it with outlook.

Dim inPath as String
Dim thisFile as String
Dim msg as MailItem
Dim OlApp as Object
Set OlApp = CreateObject("Outlook.Application")
inPath = "C:\temp"

thisFile = Dir(inPath & "\*.msg")
Do While thisFile <> ""
    'At this point, thisFile contains the path of a .msg like "C:\temp\mail_item1.msg"
    'msg = <open mailitem> <~~~~ HELP HERE
    'Do stuff with msg

    thisFile = Dir
Loop

This question looked similar but was for C#, so I had some trouble getting the vba equivalent related to my problem. Maybe it will be obvious to someone more familiar with outlook vba.

like image 956
user2868501 Avatar asked Oct 15 '13 14:10

user2868501


1 Answers

See here http://msdn.microsoft.com/en-us/library/office/ff865637.aspx

Sub CreateFromTemplate() 
 Dim MyItem As Outlook.MailItem 
 Set MyItem = Application.CreateItemFromTemplate("C:\statusrep.oft") 
 MyItem.Display 
End Sub 

Not just for .oft files

Set MyItem = Application.CreateItemFromTemplate("C:\temp\mail_item1.msg")

Edit - I keep forgetting about OpenSharedItem. http://msdn.microsoft.com/en-us/library/office/bb208171(v=office.12).aspx

like image 148
niton Avatar answered Oct 17 '22 00:10

niton