En un módulo .bas declaras:
' EJECUTA CUALQUIER ARCHIVO
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
y dónde te interese:
Dim Res as Long, destino$
destino = "C:\MiArchivo.doc"
RES = ShellExecute(Me.hwnd, "Open", destino, "", "", 0)
La diferencia entre Shell y ShellExecute es que a la primera le tienes que pasar forzosamente el nombre del .exe y a la segunda no (se supone que tienes el .exe en tu máquina)
Te aseguro que funciona.
Saludos.
Pedro