Как сохранить переменную, назначенную другой переменной?

У меня есть этот код для выполнения команды, и после перехода к определенной строке на экране в эмуляторе хоста PCOM 3270 с VBScript я хочу получить позицию текущей строки, поэтому я вызываю:

'Save the current Line
LigneEnCours= autECLSession.autECLPS.CursorPosRow

Предположим, что курсор теперь находится в строке 7, поэтому LigneEnCours = 7

После этого я выполняю этот код:

'Execute a command called 'My Command' that I put in line 24 column 12
autECLSession.autECLPS.SetText <My Command>, 24, 12
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[enter]"   

Когда я звоню autECLSession.autECLPS.SetText 'My Command', 24, 12курсор перемещается в строку 24 и столбец 12. Итак, autECLSession.autECLPS.CursorPosRow возвращается 24.

После этого я называю это:

'Puting the cursor in the saved current line
 autECLSession.autECLOIA.WaitForInputReady 60
 autECLSession.autECLPS.SetCursorPos LigneEnCours, 2

В этот момент LigneEnCours содержит 24, а не 7, как я ожидал.

Почему и как это решить, пожалуйста?

1 ответ

Не знаю об остальном, но если это обычный VBScript и ваш autECLSession.autECLPS является эквивалентом WScript.CreateObject("WScript.Shell") ваша строка sendkeys должна быть

autECLSession.autECLPS.SendKeys "{ENTER}"

РЕДАКТИРОВАТЬ: после вашего собственного редактирования: кажется, что ваш LigneEnCours содержит объект, а не значение, попробуйте предложение Regis или что-то вроде LigneEnCours = autECLSession.autECLPS.CursorPosRow * 1 или же LigneEnCours = "" & autECLSession.autECLPS.CursorPosRowв зависимости от того, что не дает ошибку

Другие вопросы по тегам