Bonjour,
Je vous donne ci-dessous mes "aventures" avec imprimante par défaut, suivant le code de Microsoft, je n'ai pas la bonne imprimante par défaut, je ne comprends pas.
Si on pouvait m'expliquer, ça m'arrangerait beaucoup.
D'avance merci.
Liste des imprimantes de mon PC: code:
Code pour indiquer l'imprimante par défaut, donné par Microsoft:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Sub Commande7_Click() Dim prtLoop As Printer For Each prtLoop In Application.Printers With prtLoop MsgBox "Device name: " & .DeviceName & vbCr _ & "Driver name: " & .DriverName & vbCr _ & "Port: " & .Port End With Next prtLoop End Sub Device name: PDF Creator - Driver name: Winspool - Port: PDF Creator Device name: Microsoft XPS Docu writer - Driver name: Winspool - port: XPSPort Device name: HPCD0B35(HP deskjet F4500 - driver name: Winspool - Port: WSD-b51cb9a-48cl-etc. Device name:HP laserJet 4050 Serie PCL5 - Driver name:winspool - port: 192.168.1.2 Device name: HP deskjet F4500 series(copie1) - Driver name:winspool - Port:USB003 Device name: HP deskjet 930c - Driver name:Winspool - Port: USB002 Device name: Fax - Driver name: winspool - port: SHRFAX Device name: EPSON BX600FW Series - river name: winspool - Port: LPT1 Device name: DYMO labelwriter 400 - driver name: winspool - port:USB004 Device name: Canon BJC-55 - Driver name: winspool - Port: USB001
Donne comme résultat: PDF creator alors que l'imprimante par défaut est la HP laserJet 4050.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub Commande5_Click() Dim prtDefault As Printer 'comme imprimante Set Application.Printer = Application.Printers(0) Set prtDefault = Application.Printer With prtDefault MsgBox "nom du périphérique: " & .DeviceName & vbCr _ & "Nom du pilote: " & .DriverName & vbCr _ & " Port: " & .Port End With Set Application.Printer = Nothing Set prtDefault = Nothing End Sub
Par contre avec le code suivant:
L'imprimante par défaut devient bien: la HP laserJet 4050.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Commande6_Click() Dim wsn As Object Set wsn = CreateObject("WScript.Network") wsn.SetDefaultPrinter "HP LaserJet 4050 Series PCL 5" DoCmd.OpenReport "RptProjet", acViewPreview Set wsn = Nothing End Sub
Partager