scottmh:
I was looking for answers to my question, and though I could help you with yours. Have you considered the ShellExecute API? It uses the same logic that Windows uses to associate a file to an application when you double click on it. Try the example below. The only annoting thing I've found with it is that it reuses already open instances of the called application. But it might work for you. Use the path to your own XLS file rather than 'C:\test.xls' - it works with .doc, you can pass it a url, etc...
Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal HWND As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Public Sub subNewShell(strFileToOpen As String)
Dim lngReturn As Long
lngReturn = ShellExecute(0, "open", strFileToOpen, vbNullString, vbNullString, 1)
End Sub
Public Sub Main()
Call subNewShell("C:\test.xls"

End Sub