我希望在PCOMM AS400 VBscript的宏循环中创建。
循环必须重复,直到达到指定的数字并跳过
每隔一个数字或(步骤2)示例:11到273或10到272
在十位数代码行中,每次只能更改数字的三位数部分; 61106(011-273)AA
之前和之后的宏还有更多内容,但每次上面是我需要变量的唯一数字时,所有内容都会重复。
在VBscript中为next / loop创建工作的任何帮助都将不胜感激。
我已经研究过尝试但未能使其工作。 任何帮助都会受到极大的赞赏。
`
PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION=
[PCOMM SCRIPT SOURCE]
OPTION EXPLICIT
autECLSession.SetConnectionByName(ThisSessionName)
REM This line calls the macro subroutine
subSub1_
sub subSub1_()
autECLSession.autECLOIA. WaitForAppAvailable
autECLSession.autECLPS.SendKeys "[pf6]"
+
autECLSession.autECLPS.SendKeys For XXX = 011 To 273 Step Two "61106XXXAA"
autECLSession.autECLPS.SendKeys "[ENTER]"
Next
End Sub
缩短了脚本以突出显示相关区域。
答案 0 :(得分:0)
我猜你想为每个值发送[enter]
。我确定您使用的软件会有手册,但我正在使用Windows'因此,VBScript可能会对您的平台产生一些语法或功能可用性差异。
LeadingZeroes
用于确保您始终有3个字符。
For ... Each Step
语句必须在重复发送密钥语句之外。
&
是字符串连接运算符,允许您构建10位代码。
Sub subSub1_()
autECLSession.autECLOIA.WaitForAppAvailable
autECLSession.autECLPS.SendKeys "[pf6]"
For XXX = 11 To 273 Step 2
x = LeadingZeroes(XXX, 3)
autECLSession.autECLPS.SendKeys "61106" & x & "AA"
autECLSession.autECLPS.SendKeys "[ENTER]"
Next
End Sub
Function LeadingZeroes(value, width)
LeadingZeroes = Right(String("0", width) & CStr(value), width)
End Function