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

15,709

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

Share:
15,709
Admin
Author by

Admin

Updated on June 14, 2022

Comments

  • Admin
    Admin almost 2 years

    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.