If you're not running this from excel, something like this will give you the
default program associated with .xls files.
Option Explicit
Public Declare Function FindExecutable Lib "shell32.dll" _
Alias "FindExecutableA" ( _
ByVal lpFile As String, _
ByVal lpDirectory As String, _
ByVal lpResult As String) As Long
Sub FindXLSprogram()
Dim FName As String
Dim ExeName As String
Dim Pos As Integer
Dim Path As String
Dim FileNumber As Long
ExeName = String(255, 0)
FName = Environ("temp") & "\someuniquenamegoeshere.xls"
FileNumber = FreeFile
On Error Resume Next
Kill FName
On Error GoTo 0
Open FName For Append As FileNumber
Close FileNumber
FindExecutable FName, "", ExeName
On Error Resume Next
Kill FName
On Error GoTo 0
Pos = InStrRev(ExeName, "\")
Path = Left(ExeName, Pos - 1)
Debug.Print "Full File Name: " & ExeName
Debug.Print "Folder Name: " & Path
End Sub
(Lots of this was stolen from a post by Chip Pearson.)