Public Function ListAllPrinters() As String
Dim lObj_ScriptControl As IWshNetwork_Class
Dim lCol_Printers As IWshCollection_Class
Dim lStr_PrinterList As String
Dim lInt_Idx As Integer
Set lObj_ScriptControl = New IWshNetwork_Class
Set lCol_Printers = lObj_ScriptControl.EnumPrinterConnections
lStr_PrinterList = vbNullString
For lInt_Idx = 1 To lCol_Printers.Count - 1 Step 2
lStr_PrinterList = lStr_PrinterList & lCol_Printers.Item(lInt_Idx) & ";"
Next lInt_Idx
If (Right(lStr_PrinterList, 1) = ";") Then
lStr_PrinterList = Left(lStr_PrinterList, Len(lStr_PrinterList) - 1)
End If
Set lObj_ScriptControl = Nothing
Set lCol_Printers = Nothing
ListAllPrinters = lStr_PrinterList
End Function