1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
Public Function SetDefaultPrinter(stNomFichier As String, stWhere As String) As Boolean
Dim wsn As Object
On Error GoTo Err_2
Dim strBuffer As String
'====================================
' Si DAO placer le 4 lignes suivantes
Dim Rs As DAO.Recordset
Set Rs = CurrentDb.OpenRecordset("SELECT LP_Names.* FROM LP_Names WHERE LP_Names.Lp_Default = true;")
'====================================
' si Ado placer les 4 lignes suivantes
' Dim Rs As New ADODB.Recordset
' Rs.Open "SELECT LP_Names.* FROM LP_Names WHERE LP_Names.Lp_Name = '" _
' & Imprimante & "';", _
' CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
'====================================
If Not Rs.BOF Then
While Not Rs.EOF
SetDefaultPrinter = True
' Ici je pense créer la connection vers les imprimantes
Set wsn = CreateObject("WScript.Network")
'La ligne qui installe l'imprimante sur l'ordinateur
wsn.addwindowsPrinterConnection Rs("Lp_Name")
'La ligne qui définit l'imprimante par défaut
wsn.SetDefaultPrinter Rs("Lp_Name")
' Impression
DoCmd.OpenReport stNomFichier, , , stWhere, , stWhere
' Fermeture fichier
'DoCmd.Close acReport, stNomFichier
Set wsn = Nothing
If IsLoaded("F_wait") Then
DoCmd.Close acForm, "F_wait"
End If
Rs.MoveNext
Wend
Else
SetDefaultPrinter = False
End If
Err_1:
On Error Resume Next
Rs.Close
Set Rs = Nothing
Exit Function
Err_2:
SetDefaultPrinter = False
Resume Err_1
End Function |
Partager