如何保存分配给另一个变量的变量?

时间:2017-04-25 10:11:22

标签: vbscript ibm-pcomm

我有这个代码来执行一个命令,在我用一个带VBScript的3270 PCOM主机模拟器移动到屏幕上的某一行后,我想得到当前行的位置,所以我调用:

'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 个答案:

答案 0 :(得分:-1)

不知道其余的,但如果这是常规的vbscript而你的autECLSession.autECLPS相当于WScript.CreateObject("WScript.Shell")你的sendkeys行必须

autECLSession.autECLPS.SendKeys "{ENTER}"

编辑:在您自己编辑之后:看起来您的LigneEnCours包含一个对象而不是一个值,请尝试Regis建议或类似LigneEnCours = autECLSession.autECLPS.CursorPosRow * 1LigneEnCours = "" & autECLSession.autECLPS.CursorPosRow的内容,无论哪个不会出错