Liste imprimante

sboiss Messages postés 18 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 29 juillet 2004 - 1 juil. 2004 à 11:23
cs_Nanto Messages postés 32 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 21 décembre 2009 - 22 juil. 2004 à 15:38
j'ai essayer plein de truc du style:
Dim objprinter As Printer

For Each objprinter In Printers
Set Printer = objprinter
Debug.Print "Device name: " & Printer.DeviceName & vbCr _
& "Driver name: " & Printer.DriverName & vbCr _
& "Port: " & Printer.Port
Next

il me donne tous les noms mais a chaque fois il me donne le port de l'imprimante par défaut et toujours la meme chose pour le driver

il y a peut etre une autre soluce avec les apis mais je suis novice.

pouvez vous m'aider ?

2 réponses

cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
1 juil. 2004 à 12:28
comme toi avec pour drivers WINSPOOL je présume

It@li@
0
cs_Nanto Messages postés 32 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 21 décembre 2009
22 juil. 2004 à 15:38
ben en fait le problème c'est que dans ton code tu passe à l'objet printer (qui est l'imprimante par défaut) l'imprimante que tu es en train de regarder dans ton "For each".

en fait tu peux faire comme ça (c'est ce que j'utilise) :
Dim oPrinter As Printer

On Error Resume Next

'Charger les noms dans un combo CbPilotes
'Et son emplacement dans un label LblEmplacement
CbPilotes.Clear
For Each oPrinter In Printers
CbPilotes.AddItem oPrinter.DeviceName
LblEmplacement = oPrinter.Port
Next

pour ce qui est de l'utilisation des imprimantes par api :
Declare Function EndDocPrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Declare Function EndPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, ByVal pDefault As Long) As Long
Declare Function StartDocPrinter Lib "winspool.drv" Alias "StartDocPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pDocInfo As DOCINFO) As Long
Declare Function StartPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Declare Function WritePrinter Lib "winspool.drv" (ByVal hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, pcWritten As Long) As Long

@ pulse

Nanto
0
Rejoignez-nous