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 exemple
Local $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)
    Exit
EndIf

; ************************************************** ***************************
; 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 = 8
MsgBox(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