par Michael DELIQUE » 24 Juil 2009 à 15:45
[syntax="LotusScript"]Function PrinterPropertyGet(wPrinter As String,wPrinterClass As String) As Variant
'list toute les propriétées d'une imprimante
'http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/nftechsupt.web+Tutorials+Printing.txt
Dim objWMIService As Variant
Dim vrPrinter As Variant
Dim lstPrinter List As String
Dim Printer As String
Dim PrinterClass As String
Const Computer = "."
On Error Goto ErreurHandle
lstPrinter("NAME")=""
If Trim(wPrinter) = "" Then
Printer = Trim(PrinterDefautGet())
Else
Printer = Trim(wPrinter)
End If
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" +Computer + "\root\cimv2")
Select Case Ucase(Trim(wPrinterClass))
Case "C","CONFIG","CONFIGURATION","WIN32_PRINTERCONFIGURATION"
Set vrPrinter = objWMIService.ExecQuery ({Select * from Win32_PrinterConfiguration Where Name = '}+Replace(Printer,"\","\\")+{'})
PrinterClass = "C"
Case "P","PRINT","PRINTER","WIN32_PRINTER",""
Set vrPrinter = objWMIService.ExecQuery ({Select * from Win32_Printer Where Name = '}+Replace(Printer,"\","\\")+{'})
PrinterClass = "P"
Case Else
Error 9999,"Bad PrinterClass : "+wPrinterClass
Exit Function
End Select
Forall objPrinter In vrPrinter
If Ucase(Trim(objPrinter.Name)) = Ucase(Printer) Then
Select Case PrinterClass
Case "C"
On Error Resume Next
lstPrinter("WIN32") = "Win32_PrinterConfiguration"
lstPrinter("BITSPERDEL") = Trim(Cstr(objPrinter.BitsPerPel))
lstPrinter("CAPTION") = Trim(Cstr(objPrinter.Caption))
lstPrinter("COLLATE") = Trim(Cstr(objPrinter.Collate))
lstPrinter("COLOR") = Trim(Cstr(objPrinter.Color))
lstPrinter("COPIES") = Trim(Cstr(objPrinter.Copies))
lstPrinter("DESCRIPTION") = Trim(Cstr(objPrinter.Description))
lstPrinter("DEVICENAME") = Trim(Cstr(objPrinter.DeviceName))
lstPrinter("DISPLAYFLAGS") = Trim(Cstr(objPrinter.DisplayFlags))
lstPrinter("DISPLAYFREQUENCY") = Trim(Cstr(objPrinter.DisplayFrequency))
lstPrinter("DITHERTYPE") = Trim(Cstr(objPrinter.DitherType))
lstPrinter("DRIVERVERSION") = Trim(Cstr(objPrinter.DriverVersion))
lstPrinter("DUPLEX") = Trim(Cstr(objPrinter.Duplex))
lstPrinter("FORMNAME") = Trim(Cstr(objPrinter.FormName))
lstPrinter("HORIZONTALERESOLUTION") = Trim(Cstr(objPrinter.HorizontalResolution))
lstPrinter("ICMINTENT") = Trim(Cstr(objPrinter.ICMIntent))
lstPrinter("ICMMETHOD") = Trim(Cstr(objPrinter.ICMMethod))
lstPrinter("LOGPIXELS") = Trim(Cstr(objPrinter.LogPixels))
lstPrinter("MEDIATYPE") = Trim(Cstr(objPrinter.MediaType))
lstPrinter("NAME") = Trim(Cstr(objPrinter.Name))
lstPrinter("ORIENTATION") = Trim(Cstr(objPrinter.Orientation))
lstPrinter("PAPERLENGTH") = Trim(Cstr(objPrinter.PaperLength))
lstPrinter("PAPERSIZE") = Trim(Cstr(objPrinter.PaperSize))
lstPrinter("PAPERWIDTH") = Trim(Cstr(objPrinter.PaperWidth))
lstPrinter("PELSHEIGHT") = Trim(Cstr(objPrinter.PelsHeight))
lstPrinter("PELSWIDTH") = Trim(Cstr(objPrinter.PelsWidth))
lstPrinter("PRINTQUALITY") = Trim(Cstr(objPrinter.PrintQuality))
lstPrinter("SCALE") = Trim(Cstr(objPrinter.Scale))
lstPrinter("SETTINGID") = Trim(Cstr(objPrinter.SettingID))
lstPrinter("SPECIFICATIONVERSION") = Trim(Cstr(objPrinter.SpecificationVersion))
lstPrinter("TTOPTION") = Trim(Cstr(objPrinter.TTOption))
lstPrinter("VERTICALRESOLUTION") = Trim(Cstr(objPrinter.VerticalResolution))
lstPrinter("XRESOLUTION") = Trim(Cstr(objPrinter.XResolution))
lstPrinter("YRESOLUTION") = Trim(Cstr(objPrinter.YResolution))
On Error Goto ErreurHandle
Case "P"
On Error Resume Next
lstPrinter("WIN32") = " Win32_Printer"
lstPrinter("ATTRIBUTES") = Trim(Cstr(objPrinter.Attributes))
lstPrinter("AVAILABILITY") = Trim(Cstr(objPrinter.Availability))
lstPrinter("AVAILABLEJABSHEETS") = Trim(Cstr(objPrinter.AvailableJobSheets))
lstPrinter("AVERAGEPAGESPERMINUTE") = Trim(Cstr(objPrinter.AveragePagesPerMinute))
lstPrinter("CAPABILITIES") = Trim(Cstr(objPrinter.Capabilities))
lstPrinter("CAPABILITYDESCRIPTIONS") = Trim(Cstr(objPrinter.CapabilityDescriptions))
lstPrinter("CAPTION") = Trim(Cstr(objPrinter.Caption))
lstPrinter("CHARSETSSUPPORTED") = Trim(Cstr(objPrinter.CharSetsSupported))
lstPrinter("COMMENT") = Trim(Cstr(objPrinter.Comment))
lstPrinter("CONFIGMANAGERERRORCODE") = Trim(Cstr(objPrinter.ConfigManagerErrorCode))
lstPrinter("CONFIGMANAGERUSERCONFIG") = Trim(Cstr(objPrinter.ConfigManagerUserConfig))
lstPrinter("CREATIONCLASSNAME") = Trim(Cstr(objPrinter.CreationClassName))
lstPrinter("CURRENTCAPABILITIES") = Trim(Cstr(objPrinter.CurrentCapabilities))
lstPrinter("CURRENTCHARSET") = Trim(Cstr(objPrinter.CurrentCharSet))
lstPrinter("CURRENTLANGUAGE") = Trim(Cstr(objPrinter.CurrentLanguage))
lstPrinter("CURRENTMIMETYPE") = Trim(Cstr(objPrinter.CurrentMimeType))
lstPrinter("CURRENTNATURALLANGUAGE") = Trim(Cstr(objPrinter.CurrentNaturalLanguage))
lstPrinter("CURRENTPAGERTYPE") = Trim(Cstr(objPrinter.CurrentPaperType))
lstPrinter("DEFAULT") = Trim(Cstr(objPrinter.Default))
lstPrinter("DEFAULTCAPABILITIES") = Trim(Cstr(objPrinter.DefaultCapabilities))
lstPrinter("DEFAULTCOPIES") = Trim(Cstr(objPrinter.DefaultCopies))
lstPrinter("DEFAULTLANGUAGE") = Trim(Cstr(objPrinter.DefaultLanguage))
lstPrinter("DEFAULTMIMETYPE") = Trim(Cstr(objPrinter.DefaultMimeType))
lstPrinter("DEFAULTNUMBERUP") = Trim(Cstr(objPrinter.DefaultNumberUp))
lstPrinter("DEFAULTPAPERTYPE") = Trim(Cstr(objPrinter.DefaultPaperType))
lstPrinter("DEFAULTPRIORITY") = Trim(Cstr(objPrinter.DefaultPriority))
lstPrinter("DESCRIPTION") = Trim(Cstr(objPrinter.Description))
lstPrinter("DETECTEDERRORSTATE") = Trim(Cstr(objPrinter.DetectedErrorState))
lstPrinter("DEVICEID") = Trim(Cstr(objPrinter.DeviceID))
lstPrinter("DIRECT") = Trim(Cstr(objPrinter.Direct))
lstPrinter("DOCOMPLETEFIRST") = Trim(Cstr(objPrinter.DoCompleteFirst))
lstPrinter("DRIVERNAME") = Trim(Cstr(objPrinter.DriverName))
lstPrinter("ENABLEBIDI") = Trim(Cstr(objPrinter.EnableBIDI))
lstPrinter("ENBLEDEVQUERYPRINT") = Trim(Cstr(objPrinter.EnableDevQueryPrint))
lstPrinter("ERRORCLEARED") = Trim(Cstr(objPrinter.ErrorCleared))
lstPrinter("ERRORDESCRIPTION") = Trim(Cstr(objPrinter.ErrorDescription))
lstPrinter("ERRORINFORMATION") = Trim(Cstr(objPrinter.ErrorInformation))
lstPrinter("EXTENDEDDETECTEDERRORSTATE") = Trim(Cstr(objPrinter.ExtendedDetectedErrorState))
lstPrinter("EXTENDEDPRINTERSTATUS") = Trim(Cstr(objPrinter.ExtendedPrinterStatus))
lstPrinter("HIDDEN") = Trim(Cstr(objPrinter.Hidden))
lstPrinter("HORIZONTALRESOLUTION") = Trim(Cstr(objPrinter.HorizontalResolution))
lstPrinter("INSTALLDATE") = Trim(Cstr(objPrinter.InstallDate))
lstPrinter("JOBCOUNTSINCELASTRESET") = Trim(Cstr(objPrinter.JobCountSinceLastReset))
lstPrinter("KEEPPRINTEDJOBS") = Trim(Cstr(objPrinter.KeepPrintedJobs))
lstPrinter("LANGUAGESUPPORTED") = Trim(Cstr(objPrinter.LanguagesSupported))
lstPrinter("LASTERRORCODE") = Trim(Cstr(objPrinter.LastErrorCode))
lstPrinter("LOCAL") = Trim(Cstr(objPrinter.Local))
lstPrinter("LOCATION") = Trim(Cstr(objPrinter.Location))
lstPrinter("MARKINGTECHNOLOGY") = Trim(Cstr(objPrinter.MarkingTechnology))
lstPrinter("MAXCOPIES") = Trim(Cstr(objPrinter.MaxCopies))
lstPrinter("MAXNUMBERUP") = Trim(Cstr(objPrinter.MaxNumberUp))
lstPrinter("MAXSIZESUPPORTED") = Trim(Cstr(objPrinter.MaxSizeSupported))
lstPrinter("MIMETYPESSUPPORTED") = Trim(Cstr(objPrinter.MimeTypesSupported))
lstPrinter("NAME") = Trim(Cstr(objPrinter.Name))
lstPrinter("NATURALLANGUAGESSUPPORTED") = Trim(Cstr(objPrinter.NaturalLanguagesSupported))
lstPrinter("NETWORK") = Trim(Cstr(objPrinter.Network))
lstPrinter("PAPERSIZESUPPORTED") = Trim(Cstr(objPrinter.PaperSizesSupported))
lstPrinter("PAPERTYPEAVAILABLE") = Trim(Cstr(objPrinter.PaperTypesAvailable))
lstPrinter("PARAMETERS") = Trim(Cstr(objPrinter.Parameters))
lstPrinter("PNPDEVICEID") = Trim(Cstr(objPrinter.PNPDeviceID))
lstPrinter("PORTNAME") = Trim(Cstr(objPrinter.PortName))
lstPrinter("POWERMANAGEMENTCAPABILITIES") = Trim(Cstr(objPrinter.PowerManagementCapabilities))
lstPrinter("POWERMANAGEMENTSUPPORTED") = Trim(Cstr(objPrinter.PowerManagementSupported))
lstPrinter("PRINTERPAPERNAMES") = Trim(Cstr(objPrinter.PrinterPaperNames))
lstPrinter("PRINTERSTATE") = Trim(Cstr(objPrinter.PrinterState))
lstPrinter("PRINTERSTATUS") = Trim(Cstr(objPrinter.PrinterStatus))
lstPrinter("PRINTERJOBDATATYPE") = Trim(Cstr(objPrinter.PrintJobDataType))
lstPrinter("PRINTPROCESSOR") = Trim(Cstr(objPrinter.PrintProcessor))
lstPrinter("PRIORITY") = Trim(Cstr(objPrinter.Priority))
lstPrinter("PUBLISHED") = Trim(Cstr(objPrinter.Published))
lstPrinter("QUEUED") = Trim(Cstr(objPrinter.Queued))
lstPrinter("RAWONLY") = Trim(Cstr(objPrinter.RawOnly))
lstPrinter("SEPARATORFILE") = Trim(Cstr(objPrinter.SeparatorFile))
lstPrinter("SERVERNAME") = Trim(Cstr(objPrinter.ServerName))
lstPrinter("SHARED") = Trim(Cstr(objPrinter.Shared))
lstPrinter("SHARENAME") = Trim(Cstr(objPrinter.ShareName))
lstPrinter("SPOOLENABLED") = Trim(Cstr(objPrinter.SpoolEnabled))
lstPrinter("STARTTIME") = Trim(Cstr(objPrinter.StartTime))
lstPrinter("STATUS") = Trim(Cstr(objPrinter.Status))
lstPrinter("STATUSINFO") = Trim(Cstr(objPrinter.StatusInfo))
lstPrinter("SYSTEMCREATIONCLASSNAME") = Trim(Cstr(objPrinter.SystemCreationClassName))
lstPrinter("SYSTEMNAME") = Trim(Cstr(objPrinter.SystemName))
lstPrinter("TIMEOFLASTRESET") = Trim(Cstr(objPrinter.TimeOfLastReset))
lstPrinter("UNTILTIME") = Trim(Cstr(objPrinter.UntilTime))
lstPrinter("VERTICALRESOLUTION") = Trim(Cstr(objPrinter.VerticalResolution))
lstPrinter("WORKOFFLINE") = Trim(Cstr(objPrinter.WorkOffline))
On Error Goto ErreurHandle
End Select
Exit Forall
End If
End Forall
Set vrPrinter = Nothing
Set objWMIService = Nothing
PrinterPropertyGet = lstPrinter
Erase lstPrinter
Exit Function
ErreurHandle:
Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
Erase lstPrinter
lstPrinter("NAME")=""
PrinterPropertyGet = lstPrinter
Erase lstPrinter
Exit Function
End Function[/syntax]
Dernière édition par
Michael DELIQUE le 27 Juil 2009 à 08:15, édité 1 fois.
Cordialement
Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN