Oops... my mistake. Not only was I trying to remember code off the top of my head, but my mind was stuck in "print" mode from another project. The last argument in ShellExecute needs to be 1, not 0. It was actually opening your file (employing a process viewable from Task Manager), but it wasn't actually displaying anything with it.

Here's the corrected code; I tested it myself this time:

[VBA]
Option Explicit
Private 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

Sub OpenAnyFile()

Dim strFilePath As String
On Error GoTo OpenAnyFileError
strFilePath = InputBox("File:", "Open File")
ShellExecute 0, "open", strFilePath, "", "", 1
Exit Sub

OpenAnyFileError:
MsgBox "Unable to open file.", vbExclamation, "Error"
End Sub
[/VBA]

Good luck with MS Publisher. I'm no more help there, I'm afraid.