1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
'===============================
'Déclaration des variables
Option Explicit
Dim objWMIService 'connexion a WMI
Dim colImp, colImpr 'collection des imprimantes
Dim objImp, objImpr 'objet imprimantes
Dim WSHShell, strRegKey
Dim valeur, i
'=================================
'=================================
'Main body
Set objWMIService = GetObject("winmgmts:\\")
Set colImp = objWMIService.ExecQuery ("Select Caption, PaperSize from Win32_PrinterConfiguration")
Set WSHShell = WScript.CreateObject("WScript.Shell")
strRegKey="HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers\"
WScript.Echo "====== Imprimantes intallées ==== "
'Pour chaque impriamnte
For Each objImp in colImp
WScript.Echo " Nom: " & objImp.Name 'affiche le nom de l'imprimante
valeur = WshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers\" & objImp.Name & "\PrinterDriverData\TrayFormTable") 'on affecte à valeur la clé de registre
For i = 1 To UBound(valeur) step 3
if valeur(i) = "Letter" then
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers\" & objImp.Name & "\PrinterDriverData\TrayFormTable","A4"
WScript.echo " Value " & i+1 & " à changer: " & valeur(i)
Else
WScript.echo " Value " & i+1 & " is: " & valeur(i)
End if
Next
'WScript.Echo " La valeur: " & valeur
WScript.Echo " "
Next
'=================================
'=================================
'PROCEDURES
Sub TypePapier(taille)
Select case taille
case 1
WScript.Echo " Taille: A4"
case 9
WScript.Echo " Taille: Letter"
case else
WScript.Echo " Taille: Autre taille"
End Select
End SUb
'================================ |