我正在编写一个脚本,希望从包含用户名和密码的Excel电子表格中提取单元格值。我希望使用两个变量USERNAME和PASSWORD。我想使用每一行的数据,并在每次循环时向下移动一行。
我查看了第三方编写的AutoIT和ExcelCOM_UDF中包含的Excel UDF。我似乎找不到所需的答案。这应该是其中任何一个的非常基本的功能,但是我遇到了麻烦。
我不是在寻找讲义,所以一个不错的参考页就可以了。但是,如果您有我需要的摘录,它不会损害我的感受,因为我不愿意自己独自编写此代码。
我的“ A”列将包含USERNAME变量,而“ B”列将包含我的PASSWORD变量。
到目前为止,我已经添加了一些代码片段。我还没有尝试从Excel中提取任何内容,因为找不到适合我要执行的命令的命令。希望看到代码可以更好地了解我的目标。
我不希望通过编程方式修改电子表格,而仅通过CELL TEXT设置字符串变量。
...
$USERNAME = "usernameHere" ;I want to set this variable as the text from A1 of c:\test.xls
$PASSWORD = "passwordHere" ;I want to set this variable as the text from B1 of c:\test.xls
;Username Box
MouseClick("left",1179,488,1)
;Type username
Send($USERNAME)
;Password Box
MouseClick("left",1179,578,1)
;Type Password
Send($PASSWORD)
...
为了读取包含用户名和密码列表的电子表格。此函数创建一个二维数组。第一列包含用户名,第二列包含密码。有了这个
#include <Array.au3>
#include <Excel.au3>
Func get_data_Excel($filePathExcel)
Local $error
Local $oExcel = _ExcelBookOpen($filePathExcel, 0)
$oExcel.Application.DisplayAlerts = False
$oExcel.Application.ScreenUpdating = False
$error = Int(@error)
Select
Case $error = 1
msgbox(16, "Erreur : Fermeture de l'application", "Code erreur _ExcelBookOpen : 1"&@CRLF&@CRLF&"Impossible de creer l'objet $oExcel avec _ExcelBookOpen")
Case $error = 2
msgbox(16, "Erreur : Fermeture de l'application", "Code erreur _ExcelBookOpen : 2"&@CRLF&@CRLF&"Impossible d'ouvrir le fichier "&$filePathExcel&" avec _ExcelBookOpen")
EndSelect
If $error > 0 Then
_ExcelBookClose($oExcel, 0) ; Close without save
Exit
EndIf
; Read column A (login) and column B (pwd)
_ExcelSheetActivate($oExcel, "sheet1")
$nb_columns = $oExcel.ActiveSheet.UsedRange.Columns.Count
$nb_rows = $oExcel.ActiveSheet.UsedRange.Rows.Count
Local $array_data_excel[$nb_rows][2]
Local $idx
For $idx = 0 To $nb_rows-1
$array_data_excel[$idx][0] = $oExcel.Activesheet.Cells($idx+1, 1).Value
$array_data_excel[$idx][1] = $oExcel.Activesheet.Cells($idx+1, 2).Value
Next
_ExcelBookClose($oExcel, 0)
_ArrayDisplay($array_data_excel, "Data from excel file")
EndFunc
并使用此功能:
get_data_Excel("d:\users.xlsx")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句