2013-10-15 5 views
5

Я искал высоко и низко для этой, казалось бы, простой задачи, но все ссылки, с которыми я сталкиваюсь, либо сохраняются на жестком диске, либо читаются из папки Outlook.Как открыть файл Outlook .msg с моего жесткого диска, который НЕ находится в Outlook?

У меня есть следующий код, который перебирает имена файлов в папке на моем жестком диске, но я не знаю, как пройти этот путь и открыть его с помощью 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 были похожи, но был на C#, так что у меня были некоторые проблемы с получением Vba эквивалент, связанный с моей проблемой. Может быть, это будет очевидно для кого-то, более знакомого с Outlook vba.

ответ

6

Смотрите здесь 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 

Не только для .oft файлов

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

Edit - я забываю о OpenSharedItem. http://msdn.microsoft.com/en-us/library/office/bb208171(v=office.12).aspx