Hello everyone ,
I would like to write a function which would basically allow the user to open any file from Excel.
I've got a user form which records the path and filename of a range of documentation, which will be in Excel, Word, PPT, PDF, HTML,... etc.
I would like to have some code which would just open the file as if it had been double-clicked in windows.

I've seen below code which is used for 32 bit not for 64 bit , then I tried to convert it to 64 bit but still not working so i hope someone can help me with this as I'm still leaning excel vba .
--------------------
====================
Private Declare PtrSafe Function GetDesktopWindow _
Lib "user32" () As LongPtr

Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" ( _
ByVal hwnd As LongPtr, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As LongPtr) _
As LongPtr

Private Const SW_HIDE As LongPtr = 0
Private Const SW_NORMAL As LongPtr = 1
Private Const SW_MAXIMIZE As LongPtr = 3
Private Const SW_MINIMIZE As LongPtr = 6

'//
'//
'// ShellExecute API.
'// Use Windows file associations to provide the easiest way to
'// process operations > Open, Print,Play or Explore
'// by passing just the FullPathFilename of the item.
'//
'//

Public Function ShellOper(strFileExe As String, _
Optional strOperation As String, _
Optional nShowCmd As Double) As LongPtr

Dim hWndDesk As LongPtr

hWndDesk = GetDesktopWindow()
If Len(strOperation) = 0 Then strOperation = "Open"
If Len(Dir(strFileExe)) = 0 Then GoTo ErrH

'// Failure >> <=32
ShellOper = ShellExecute(hWndDesk, strOperation, strFileExe, 0, 0, nShowCmd)
If ShellOper <= 32 Then
MsgBox "Couldn't " & strOperation & " " & strFileExe
End If

Exit Function
ErrH:
ShellOper = -1
End Function


Sub Tester()
Dim Ret
'// Substitute here your Doc full path
Ret = ShellOper("C:Intel\Logs", "Open", SW_MAXIMIZE)


'// Typical errors
'-1 No File Exists
'0 The operating system is out of memory or resources.
'SE_ERR_FNF = 2 The specified file was not found.
'SE_ERR_PNF = 3 The specified path was not found.
'SE_ERR_ACCESSDENIED = 5 The operating system denied access to the specified file.
'SE_ERR_OOM = 8 There was not enough memory to complete the operation.
'ERROR_BAD_FORMAT = 11 The .EXE file is invalid (non-Win32 .EXE or error in .EXE image).
'SE_ERR_SHARE = 26 A sharing violation occurred.
'SE_ERR_ASSOCINCOMPLETE = 27 The filename association is incomplete or invalid.
'SE_ERR_DDETIMEOUT = 28 The DDE transaction could not be completed because the request timed out.
'SE_ERR_DDEFAIL = 29 The DDE transaction failed.
'SE_ERR_DDEBUSY = 30 The DDE transaction could not be completed because other DDE transactions were being processed.
'SE_ERR_NOASSOC = 31 There is no application associated with the given filename extension.
'SE_ERR_DLLNOTFOUND = 32 The specified dynamic-link library was not found.

End Sub

===================================




Thanks