Hi,
This code is the best way to open and print any documents type
Regards
Robert Simard
Logipro
http://www.logicielappui.com/tips
'// Code Start
Option Compare Database
Option Explicit
Public Const SW_HIDE = 0
Public Const SW_SHOWNORMAL = 1
Public Const SW_SHOWMINIMIZED = 2
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOWNOACTIVATE = 4
Public Const SW_SHOW = 5
Public Const SW_MINIMIZE = 6
Public Const SW_SHOWMINNOACTIVE = 7
Public Const SW_SHOWNA = 8
Public Const SW_RESTORE = 9
Private Declare Function GetDesktopWindow Lib "user32" () As Long
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
'Usage : Call RunShellExecute("Open","c:\test.doc", 0&, 0&, SW_SHOWNORMAL)
' Call RunShellExecute("Print","c:\test.doc", 0&, 0&, SW_SHOWNORMAL)
Public Sub RunShellExecute(sTopic As String, sFile As Variant, sParams As
Variant, sDirectory As Variant, nShowCmd As Long)
Dim hWndDesk As Long
Dim success As Long
hWndDesk = GetDesktopWindow()
success = ShellExecute(hWndDesk, sTopic, sFile, sParams, sDirectory,
nShowCmd)
'on error "Open with"
If success = 31 Then
Call Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " & sFile,
vbNormalFocus)
End If
End Sub