How to open Outlook file from Excel with VBA?

FergalK

New member
Joined
Jan 9, 2013
Messages
10
Reaction score
0
Points
0
Hi
Within my custom Excel Ribbon, I want to provide a button which will open an Outlook file (.msg format) - it will need to open this file within Outlook.
(This Outlook file will be an email which will provide them help with some aspects of the Ribbon.)

How to I modify my file>open VBA code to tell Excel that this is an Outlook-type file which is being opened (and it neds to open in Outlook and not Excel)?

Thanks a lot
Fergal
 

Ken Puls

Administrator
Staff member
Joined
Mar 13, 2011
Messages
2,519
Reaction score
4
Points
38
Location
Nanaimo, BC, Canada
Website
www.excelguru.ca
Excel Version(s)
Excel Office 365 Insider
Try this:

Code:
Public Function OpenWithShell(ByVal strFilePath As String) As Boolean
'Author       : Ken Puls ([URL="http://www.excelguru.ca/"][COLOR=#417394]www.excelguru.ca[/COLOR][/URL])
'Macro Purpose: To open any file in the appropriate application
    'Test for file existence to avoid Windows error message
    If Not Dir(strFilePath) = vbNullString Then
        'Open the file
        Shell ("RunDLL32.EXE shell32.dll,ShellExec_RunDLL " & strFilePath)
        OpenWithShell = True
    End If
End Function

Call it like this:
Code:
Sub OpenFileExample()
'Author       : Ken Puls ([URL="http://www.excelguru.ca/"][COLOR=#417394]www.excelguru.ca[/COLOR][/URL])
'Macro Purpose: To demonstrate the use of the OpenWithShell function
    Dim strFullFileName As String
    
    'Set path to file
    strFullFileName = "C:\My Documents\Some Outlook Message.msg"
    
    'Check if file opened
    If OpenWithShell(strFullFileName) = False Then _
        MsgBox ("File not opened!")
End Sub
 

FergalK

New member
Joined
Jan 9, 2013
Messages
10
Reaction score
0
Points
0
Hi Ken
Excellent!
Works perfectly - thanks a million.

Fergal
 

Pog

New member
Joined
Jun 13, 2015
Messages
1
Reaction score
0
Points
0
Ken, you're a star. So simple. Thank you so much. I am now the office hero. All credit (well, most!) to you!!
 
Top