本帖最后由 xwt620 于 2011-8-4 22:53 编辑 #AutoIt3Wrapper_Run_Debug_Mode=Y
#include <Array.au3>
#Include <ExcelCOM_UDF.au3>
Local $sFilepath = "d:\rm.xls"
Local $oExcel = _ExcelBookOpen($sFilePath)
Local $aName[1][1]
If @error = 1 Then
MsgBox(0, "错误!", "无法创建对象!")
Exit
ElseIf @error = 2 Then
MsgBox(0, "错误!", "文件不存在!")
Exit
EndIf
Local $UseRange = _ExcelSheetUsedRangeGet($oExcel, _ExcelSheetNameGet($oExcel)) ;返回最大范围
For $i = 2 To $UseRange[3] ;有标题从第二行开始读
$sName = _ExcelReadCell($oExcel,$i)
Local $iIndex = _ArraySearch($aName, $sName)
If @error Then ;没有匹配的人名
$k = UBound($aName)
$aName[$k][0] = $sName
$aName[$k][1] = 1
_ArrayDisplay($aName, "添加后的数据 _ArrayAdd()")
Else
$aName[$iIndex][1] = $aName[$iIndex][1] + 1
EndIf
Next
0026: 0-0: If @error Then ;没有匹配的人名
0034: 0-0: $aName[$iIndex][1] = $aName[$iIndex][1] + 1
???摮硥?
D:\My Documents\??\test_DebugIt.au3 (110) : ==> ????????.:
$aName[$iIndex][1] = $aName[$iIndex][1] + 1
$aName[^ ERROR
我很郁闷看到这个消息,为什么读取第一个人名时
If @error Then
就跳到Else里去执行代码了呢? |