Private Declare Function FindExecutableA Lib "shell32.dll" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
Function GetExecutable(strFile As String) As String
Dim strPath As String
Dim intLen As Integer
strPath = String(255, 0)
intLen = FindExecutableA(strFile, "\", strPath)
If intLen > 32 Then
GetExecutable = Left(strPath, intLen)
Else
GetExecutable = ""
End If
End Function
Sub GetFileName()
Dim fname As String
fname = Application.GetOpenFilename
Debug.Print GetExecutable(fname)
End Sub