cs_Nanto
Messages postés32Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention21 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