For those of us in a corporate environment who have no control over what email client to use, the suggested fix from Microsoft (and many other sources) on opening .eml files in Outlook 2007 doesn't help, since we typically don't have registry access and can't download add-ins.
One solution buried in the myriad frustrated forum users' posts is to use the "Run" application with the following construction:
"[path to outlook]\Outlook.exe" /eml "[path to eml file]\[Filename].eml"
Is it possible to embed this inside a macro that can be accessed from (for example) Outlook itself?
The following code will work when run from inside Outlook 07; it prompts for a .eml file and then opens it using a shell command in the form of the "Run" prompt in the question. Unfortunately because of Microsoft's 'unique' support for VBA objects, it's not possible to call
FileDialog(msoFileDialogFilePicker)from inside Outlook.As a result, the below calls an instance of Excel to handle the dialog box. The
Application.Visible = Trueline ensures the dialog box is brought to the front, as it can open behind the current application depending on the window environment.You may need to edit
C:\Program Files (x86)\Microsoft Office\Office12\Outlook.exeto reflect the installation location of your copy of Outlook.