Voici le scipt :
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Options
opt( "SendKeyDelay", 20)
;*********************************Debut*******************************
$recommencer=1
while $recommencer == 1 ;permet de faire plusieurs boucles
;Chargement du fichier ConfigImp.cfg
$file = FileOpen( @ScriptDir &"\ConfigImp.cfg", 0)
; Verification de l'existance du fichier et verification si l'ouverture s'est bien passée
If $file = -1 Then
MsgBox(0, "Error", "Le fichier "& @CRLF & @ScriptDir &"\ConfigImp.cfg"& @CRLF &"est introuvable. ou n'a pas pu etre ouvert" )
Exit
EndIf
; On va demander le client visée parametre [Mapping]
$client="void"
; On lit ligne par ligne tant que EOF n'est pas trouvé
$line="0"
;On se place sur [Cli]
While not ($line = "[Cli]" )
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
Wend
;On charge Parametre par parametre
While not ($line = "[EndCli]" )
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
If StringLeft($line, 2) == "#?" Then
$answer=MsgBox(1,"Quelle client?",StringMid ( $line, 3 ))
If $answer = 1 Then
$client = StringMid ( $line, 3 )
ExitLoop
EndIf
EndIf
Wend
;Test si le parametre a été selectionné
If $client=="void" Then
MsgBox(0, "Error", "Pas de reponse" )
Exit
EndIf
; On charge le serveur Cli
While not ($line = "#?"&$client)
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
Wend
If $line = "#?"&$client Then
$AdrIP = FileReadLine($file)
EndIf
FileClose($file)
;fermeture du fichier de configuration
;Test Pour voir si on ouvre ou pas une nouvelle fenetre imprimante
WinActivate("Imprimantes" )
winwaitactive("Imprimantes","",1)
sleep(1000)
If not Winactive ("Imprimantes" ) Then
;debut de l'ouverture de la fenetre imprimantes
run ("control" )
;attente de la fenetre Panneau de configuration
winwaitactive("Panneau de configuration" )
send("imprimantes" )
;attente de la selection
winwaitactive("Panneau de configuration","imprimantes locales ou en réseau" )
send("{ENTER}" )
sleep(100)
;fin de l'ouverture de le fenetre imprimantes
EndIf
;attente de la fenetre imprimante
winwaitactive("Imprimantes" )
send ("ajout d'imprimante" )
sleep(100)
winwaitactive("Imprimantes","1 objet(s) sélectionné(s)" )
send ("{ENTER}" )
sleep(100)
;Attente de la fenetre d'assistant
winwaitactive ("Assistant Ajout d'imprimante" )
;On va demander le nom d'imprimante
$decision = 4 ;ce nombre correspond à la touche RETRY
While $decision == 4
;ouverture du fichier de configuration
$file = FileOpen(@ScriptDir &"\ConfigImp.cfg", 0)
; Test de l'ouverture du fichier
If $file = -1 Then
MsgBox(0, "Error", "Le fichier "& @CRLF & @ScriptDir &"\ConfigImp.cfg"& @CRLF &"est introuvable. ou n'a pas pu etre ouvert" )
Exit
EndIf
; On lit ligne par ligne
$line="0"
$Format="void"
;On se positionne sur le Format Cli
While not ($line = "[FormatCli]" )
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
Wend
;On recherche le Format pour le client Selectionnée
While not ($line = "[EndFormatCli]" )
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
If $line == "#?"&$client Then
$line = FileReadLine($file)
$Format = $line
EndIf
WEnd
;Fermeture du fichier de config
FileClose($file)
;Test du Format
If $Format == "void" Then
;Cas ou le format n'est pas renseigné
$IMP= inputbox("installation "&$client, "entrez le nom d'imprimate" )
$cause = "Le format n'est pas supporté!"
$Temp = "Erreur"
else
;Cas ou le format est renseigné
$IMP= inputbox("installation "&$client, "entrez le nom d'imprimate"& @CRLF &"Format : "&$Format& @CRLF &"Serveur Cli "&$client&" : "&$AdrIP,$Format)
sleep(100)
$i = 1
$Temp = "void"
;Test du Format
If not(StringLen($IMP) == StringLen($Format)) Then ;Longueur du nom doit etre égale à la longueur du format
$Temp = "Erreur"
$cause = "La longueur du nom de l'imprimante est different de celui du Format"
EndIf
While $i<StringLen($Format) and not($Temp == "Erreur" )
If StringMid($IMP, $i, 1) == StringMid ( $Format, $i, 1) Then ;Les caractere doivent etre égaux (sauf cas suivant)
;OK
Else
If StringMid ( $Format, $i, 1) == 0 Then ;Si le caractere est "0", on peut mettre ce que l'on veut
;OK
Else
$Temp="Erreur"
$cause= "Lettre n°"&$i&" n'entre pas dans le cadre du format "&$Format
EndIf
EndIf
$i = $i+1
Wend
EndIf
;Test du resultat
If $Temp == "Erreur" Then
$decision=MsgBox(18,"Erreur","Format Non cohérent "& @CRLF &"avec le nom de l'imprimante"& @CRLF &"IMP :"&$IMP& @CRLF &"Cause : "& @CRLF &$cause)
Else
$decision = 5 ;Correspond à Continuer
EndIf
If $decision == 3 Then ;Correspond à Abandonner
Exit
EndIf
If $decision == 5 Then ;Correspond à Continuer
ExitLoop
EndIf
Wend
;Attente de la fenetre d'assistant
winwaitactive ("Assistant Ajout d'imprimante" )
send ("!s" )
sleep(100)
send ("!s" )
sleep(100)
send ("!c" )
sleep(100)
send ("s" )
sleep(100)
send ("{ENTER}" )
sleep(100)
;attente de la fenetre d'ajout de port
winwaitactive("Assistant Ajout de port imprimante TCP/IP standard" )
send ("!s" )
sleep(100)
send ("!d" )
sleep(1000)
Send ($AdrIP)
sleep(100)
send ("{TAB}" )
sleep(100)
send ($IMP)
sleep(100)
send ("!s" )
sleep(100)
;attente de la fenetre d'ajout de port
winwaitactive("Assistant Ajout de port imprimante TCP/IP standard","Type de périphérique" )
send ("!t" )
sleep(100)
send ("Generic Network Card" )
sleep(100)
send ("!e" )
sleep(100)
send ("!r" )
sleep(100)
send ("!l" )
sleep(100)
send ("!f" )
sleep(100)
Send ($IMP)
sleep(100)
send ("!t" )
sleep(100)
send ("{ENTER}" )
sleep(100)
send ("!s" )
sleep(100)
send ("{ENTER}" )
sleep(100)
;attente de la fenetre suivante
winwaitactive("Assistant Ajout d'imprimante","Sélectionnez le fabricant et le modèle de votre imprimante" )
send ("!t" )
sleep(100)
send ("h" )
sleep(2000)
send ("generic" )
sleep(100)
send ("!i" )
sleep(100)
send ("generic / text only" )
sleep(100)
send ("!s" )
sleep(100)
;attente de la fenetre suivante
winwaitactive("Assistant Ajout d'imprimante","Voulez-vous conserver le pilote existant" )
send ("!c" )
sleep(100)
send ("!s" )
sleep(100)
;attente de la fenetre suivante
winwaitactive("Assistant Ajout d'imprimante","Voulez-vous que vos programmes Windows utilisent " )
send ("!m" )
sleep(100)
send ($IMP)
sleep(100)
send ("!N" )
sleep(100)
send ("!s" )
sleep(100)
;attente de la fenetre suivante
winwaitactive("Assistant Ajout d'imprimante","Indiquez si vous voulez que cette imprimante" )
send ("!N" )
sleep(100)
send ("!s" )
sleep(100)
;attente de la fenetre suivante
winwaitactive("Assistant Ajout d'imprimante","Voulez-vous imprimer une page de test ?" )
send ("!N" )
sleep(100)
send ("!s" )
sleep(100)
send("{ENTER}" )
;attente de la selection
WinActivate("Imprimantes" )
winwaitactive("Imprimantes" )
sleep(1000)
Send ($IMP)
sleep(100)
Send ("!f" )
sleep(100)
Send ("p" )
sleep(100)
;attente de la fenetre imprimante
winwaitactive($IMP&" Propriétés" )
Send ("+{TAB}" )
sleep(100)
Send ("{RIGHT}" )
sleep(100)
Send ("{RIGHT}" )
sleep(100)
Send ("{RIGHT}" )
sleep(100)
;attente de l'onglet Avancé
winwaitactive($IMP&" Propriétés","Impression par défaut..." )
Send ("!i" )
sleep(100)
;attente de la fenetre Impression par defaut
winwaitactive($IMP&" Impression par défaut" )
Send ("!v" )
sleep(100)
;attente de la fenetre Options avancées Generic / Text Only
winwaitactive("Options avancées Generic / Text Only" )
Send ("{RIGHT}" )
sleep(100)
Send ("Formulaire" )
sleep(100)
;attente de la selection de Formulaire
winwaitactive("Options avancées Generic / Text Only","Formulaire" )
send("{ENTER}" )
sleep(100)
;attente de la fenetre Impression par defaut
winwaitactive($IMP&" Impression par défaut" )
Send ("{ENTER}" )
sleep(100)
;attente de l'onglet Avancé
winwaitactive($IMP&" Propriétés","Impression par défaut..." )
Send ("{RIGHT}" )
sleep(100)
Send ("{RIGHT}" )
sleep(100)
;attente de l'onglet Parametre du peripherique
winwaitactive($IMP&" Propriétés","TreeView" )
Send ("{TAB}" )
sleep(100)
Send ("{RIGHT}" )
sleep(100)
Send ("Formulaire" )
sleep(100)
Send ("{LEFT}" )
sleep(100)
Send ("{DOWN}" )
sleep(100)
Send ("{RIGHT}" )
sleep(100)
Send ("Formulaire" )
sleep(100)
Send ("{LEFT}" )
sleep(100)
Send ("{DOWN}" )
sleep(100)
Send ("{RIGHT}" )
sleep(100)
Send ("Formulaire" )
sleep(100)
;attente de la fenetre Impression par defaut
winwaitactive($IMP&" Propriétés","Formulaire" )
Send ("{ENTER}" )
;On demande si on veut recommencer
$reponse = MsgBox(36,"Imprimante Installée","Voulez vous recommencer?" )
If $reponse == 7 Then
Exit
EndIf
WEnd
;*********************************Fin*******************************
Message édité par saez_aoe le 06-06-2005 à 09:04:48