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
Const SW_SHOW            As Long = 5&

Sub OpenFile()
     Dim FName As String
     FName = "C:\" & Range("D14") & ".pdf"
     ShellExecute Application.hWnd, "Open", FName, 0&, 0&, SW_SHOW
End Sub
oughta work for any registered file type