Here is a possible hint :
Dim prn As Printer
Set prn = Printer
Populate Printers in the List Box and add the Index in List's ItemData
iPrn = 0
For Each p In Printers
lstPrnDraw.AddItem p.DeviceName
lstPrnDraw.ItemData(lstPrnDraw.ListCount - 1) = iPrn
iPrn = iPrn + 1
Next p
Here I am getting the selected printer :
Private Sub cmdOK_Click()
For iPrn = 0 To lstPrnDraw.ListCount - 1
If lstPrnDraw.Selected(iPrn) = True Then
Set prn = Printers(lstPrnDraw.ItemData(iPrn))
Exit For
End If
Next iPrn
End Sub
http://www.dotnetdud.blogspot.com
VBA Tips & Tricks (
http://www.vbadud.blogspot.com)