需要创建一个循环宏IBM i(as400)

时间:2015-03-31 14:36:17

标签: ibm-midrange

有人可以帮助我为AS400程序编写一个宏,每5分钟刷新一个特定的页面。它应该是一个无限循环,我可以通过单击程序中的停止按钮来停止。我试图记录宏,但我不知道如何制作循环。

谢谢!

这是我在尝试录制宏...(.mac文件)

时得到的
[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.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[pf5]"

   autECLSession.autECLPS.WaitForAttrib 10,1,"00","3c",3,10000

   autECLSession.autECLPS.Wait 781 

   autECLSession.autECLOIA.WaitForAppAvailable

   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[pf5]"

   autECLSession.autECLPS.WaitForAttrib 10,1,"00","3c",3,10000

   autECLSession.autECLPS.Wait 1125 

   autECLSession.autECLOIA.WaitForAppAvailable

   autECLSession.autECLOIA.WaitForInputReady
   autECLSession.autECLPS.SendKeys "[pf5]"
end sub

2 个答案:

答案 0 :(得分:0)

循环的一种方法是DO WHILE或DO UNTIL。您可能希望显示一个消息框以要求用户退出。尝试:

Do While 1 = 1
   subSub1_
   result = MsgBox("Exit?", vbOK, "Exit?")
   If result = vbOK
     Exit Do
   End If
Loop

未经测试。有关详细信息,请参阅Microsoft MSDN网站上的VBScript Language Reference。有关模态与非模态的更多信息,请参阅Stack Overflow问题22513413

答案 1 :(得分:0)

先使用DFRWRT(*是)RSTDSP(*是)创建显示,然后在CLP OVRDSPF Display WAITRCD(&SECONDS)中创建显示

&SECONDS数量到期后,您的程序将唤醒。程序将变为活动状态,并且相应的代码将在每次唤醒时刷新。