Hi Dick,
Dick Kusleika wrote:
I'd like to be able have a routine that launches a PDF file. The
closest thing I can find it the ActivateMicrosoftApp Method which, of
course doesn't work with the Adobe product files.
Consider using the FollowHyperlink method. It will open the file
according to your Windows associations. See
http://www.dicks-blog.com/archives/2...nt-file-types/
Personally, I don't like using the FollowHyperlink method for anything but
URLs. On my machine (Win XP SP2), I get a warning telling me that links may
harm my computer.
Here's a way to do it with the API, which is cleaner and gives you more
options on how you want to display the document and what to do if it's not
found:
Public Const SW_SHOWMAXIMIZED = 3
Public Const ERROR_FILE_NOT_FOUND = 2&
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 Function gbOpenDocument(rsFullPath As String, _
rsErrMsg As String) As Boolean
Dim lResponse As Long
lResponse = ShellExecute(Application.hwnd, _
"open" & vbNullChar, rsFullPath & vbNullChar, _
vbNull, vbNull, SW_SHOWMAXIMIZED)
If lResponse = ERROR_FILE_NOT_FOUND Then rsErrMsg _
= "File not found."
gbOpenDocument = (lResponse 32)
End Function
Sub test()
Dim sErr As String
Debug.Print gbOpenDocument("c:\test234.pdf", sErr)
If Len(sErr) Then Debug.Print sErr
End Sub
--
Regards,
Jake Marx
MS MVP - Excel
www.longhead.com
[please keep replies in the newsgroup - email address unmonitored]