AS400 PCOMM LOOP - PullRequest
       12

AS400 PCOMM LOOP

0 голосов
/ 30 мая 2018

Я хочу создать в макроцикле в VBscript PCOMM AS400.

Цикл должен повторяться, пока не будет достигнуто указанное число, и пропустить

любое другое число или (шаг 2) Пример: 11от 273 или от 10 до 272

В десятизначной строке кода каждый раз должна меняться только трехзначная часть номера;61106 (011-273) AA

В макросе есть что-то еще до и после, но все будет повторяться каждый раз, когда приведенное выше число - единственное число, которое мне нужно изменить.

Любая помощьПри создании работы для следующего / цикла в VBscript будет приветствоваться.

Я уже исследовал попытался и не смог заставить это работать.ЛЮБАЯ ПОМОЩЬ БУДЕТ БОЛЬШОЙ ЦЕНИТЬ.

    `

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

Сценарий был сокращен, чтобы выделить нужную область.

1 Ответ

0 голосов

Полагаю, вы хотите отправить [enter] для каждого значения.Я уверен, что программное обеспечение, которое вы используете, будет иметь руководство, но я работаю с VBScript для Windows, поэтому могут быть некоторые синтаксические или функциональные различия в вашей платформе.

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
...