Page 1 sur 1
Création script lecture fichier excel
Posté : mer. 28 févr. 2018 18:08
par Zaisuru
Bonjour,
je suis actuellement en plein dev d'un script qui automatise l'installation de slack pour le déployer par GPO dans mon entreprise.
j'ai déjà créé les comptes mais j'aimerai vraiment automatiser la première connexion pour ne pas avoir des appels au support.
J'ai donc généré un fichier excel de 3 colonnes
NOM DE LA MACHINE | COMPTE | MOT DE PASSE
j'aimerai donc pouvoir aller lire le fichier pour chercher le nom de la machine que j'ai déjà dans une variable et pouvoir ensuite récupérer le compte et le mot de passe pour les mettres dans deux variables différentes.
Pouvez-vous m'aidez ?
Cordialement,
Thomas
Re: Création script lecture fichier excel
Posté : mer. 28 févr. 2018 22:03
par kerozen
Bonjour,
j'ai fait il y a quelques temps ce type de chose.
Il faut inclure en début de script
#include <Excel.au3>
pour ouvrir le fichier liste.xls
$rep_travail =@WorkingDir
$liste=_ExcelBookOpen($rep_travail & "\liste.xls",1)
pour lire les données et les mettrent dans une variable
$nom = _ExcelReadCell($liste, ligne, colonne)
J'espère t'avoir aidé
cordialement
Re: Création script lecture fichier excel
Posté : jeu. 01 mars 2018 00:36
par walkson
en complément de kerozen
à partir de l'exemple de l'aide _Excel_RangeRead () exemple 3
#include <Array.au3>#include <Excel.au3>#include <MsgBoxConstants.au3>; Crée un objet application et ouvre un classeur exempleLocal $oAppl = _Excel_Open()If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeRead Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)Local $oWorkbook = _Excel_BookOpen($oAppl, @ProgramFilesDir & "\AutoIt3\Examples\Helpfile\Extras\_Excel1.xls")If @error Then MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeRead Example", "Error opening workbook " & @ProgramFilesDir & "\AutoIt3\Examples\Helpfile\Extras\_Excel1.xls" & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oAppl) ExitEndIf; ************************************************** ***************************; Lit les valeurs d'une plage de cellules (les cellules utilisées dans les colonnes A:C); ************************************************** ***************************Local $aResult = _Excel_RangeRead($oWorkbook, Default, $oWorkbook.ActiveSheet.Usedrange.Columns("A:C"), 1)If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeRead Example 3", "Error reading from workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeRead Example 3", "Data successfully read." & @CRLF & "Please click 'OK'to display in column A.")_ArrayDisplay($aResult, "Excel UDF: _Excel_RangeRead Example 3 ")$valRecherche = 8MsgBox(0,"","Valeur recherchée " & $valRecherche)$index = _ArraySearch ($aResult,$valRecherche)MsgBox(0," index trouvé " & $index,"pour valeur " & $valRecherche &" Retour Valeur " & $aResult[$index][1] &" et "& $aResult[$index][2] )
On récupère les valeurs d'Excel dans un array où on fait la recherche, ce qui est beaucoup plus rapide et plus simple plutôt qu'une recherche directement sur Excel