.個朲綉√ 发表于 2011-3-9 13:47:48

【已解决】代码for ...to...重复循环无法自动结束退出。

本帖最后由 .個朲綉√ 于 2011-3-9 16:20 编辑

调用excel数据打印,比如我调用Excel从第3行打印到第5行,打印到第5行后,又开始打印第3行了,一直这样循环,不能自动退出,求解啊。。。


#cs
标题:ZebraDesigner
快捷键:CRTL + P

打印标题:打印
第一输入控件:Edit3
第二输入控件:Edit4
打印按钮:Button5
思路:调用Excel 数据,激活打印软件窗口,按CTRL + P 输入数据,点击打印,再调用数据...(循环)
#ce
#include <Excel.au3>

Local $Config_File = @ScriptDir & "\Config.ini"
Local $Xls_File = IniRead($Config_File, "System", "Xls路径", "")
Local $Num_N = Number(IniRead($Config_File, "System", "号码列", ""));号码列
Local $Uim_N = Number(IniRead($Config_File, "System", "串号列", ""));密码列
Local $Read_N = Number(IniRead($Config_File, "System", "读初始行", "3"));读初始行
Local $Shop_N = Number(IniRead($Config_File, "System", "读号结束行", "5"));读号结束行
;$Var = 1
Dim $Num, $Uim

GUISetState(@SW_SHOW)
$oExcel = _ExcelBookOpen($Xls_File, 1)
If $oExcel = 0 Then
        MsgBox(64, "提示:", $Xls_File & "打开失败.")
        Exit
EndIf

While 1
                        For $i = $Read_N To $Shop_N
                                _Get_Num($i);读取号码
                                If _Print($Num, $Uim, $i) = 1 Then ExitLoop
                Next
;        EndSwitch
WEnd


Func _Get_Num($Var);读取号码,参数为第几行 前提要先获取表格对象
        $Num = _ExcelReadCell($oExcel, $Var, $Num_N)
        $Uim = _ExcelReadCell($oExcel, $Var, $Uim_N)
EndFunc   ;==>_Get_Num


Func _Print($Num, $Uim, $i)
        Dim $Log_txt
        If $Num = "0" Or $Uim = "0" Or $Num = "" Or $Uim = "" Then;判断账号是否读取正常,不正常跳出循环
                Return 1
        EndIf       
        WinWait("ZebraDesigner","")
        WinActivate("ZebraDesigner","")
        Send("^p")
        WinWait("打印","")
        WinActivate("打印","")
        ControlSetText("打印","","Edit3",$Num)
        ControlSetText("打印","","Edit4",$Uim)
        ControlClick("打印","","Button5")

EndFunc   ;==>_Login

骗子 发表于 2011-3-9 13:51:34

If _Print($Num, $Uim, $i) = 1 Then ExitLoop 退出了for循环,但是while没退吧?

.個朲綉√ 发表于 2011-3-9 14:09:51

回复 2# 骗子


    WEnd
这个不是退了吗??

骗子 发表于 2011-3-9 14:13:52

回复骗子


    WEnd
这个不是退了吗??
.個朲綉√ 发表于 2011-3-9 14:09 http://www.autoitx.com/images/common/back.gif

whlie 1
wend
是一组,意思好像是是无限循环之间的内容,去帮助文件中找下while就知道了

xyold1 发表于 2011-3-9 15:12:45


whlie 1
wend
去掉就行了吧

.個朲綉√ 发表于 2011-3-9 16:19:44

回复 5# xyold1


    Good   看来我是画蛇添足了。。。
页: [1]
查看完整版本: 【已解决】代码for ...to...重复循环无法自动结束退出。