将行号存储在VBS脚本中作为变量并引用它

时间:2018-05-13 12:17:06

标签: vba excel-vba vbscript sap excel

我正在从VBA编写脚本并在SAP ABAB中使用记录的操作。我希望脚本输入某个事务粘贴一定的值(合同号),然后转到表中的某一行,双击它并在里面执行某个操作。

我在VBA中使用while循环,在Excel工作表中存储合同编号,脚本应该双击的行数,然后粘贴我需要的值。应该这样做,直到列a中的单元格为空。

代码: '我们在excel中声明了while函数的参数

xhr.setRequestHeader()

你可以在代码的VBS部分看到我试图用变量" row"替换行号,但代码不接受。 如果我在那里留下一个数字,它实际上做了我想要的,只要数字是我试图做的正确数字。

有人可以帮我这个吗?我使用if语句来解决行号的可能性数量有限,但这可能意味着需要很长的代码,并且可能会遗漏某些内容。 是否可以使行号引用代码中的变量。

我已经尝试在VBS中声明变量,但它不起作用。

1 个答案:

答案 0 :(得分:0)

您不使用变量行作为变量,而是使用字符串“row”。看看规则#5 here。 “row”对SAPGUI没有任何意义。

试试这个

session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV45A:4426/subSUBSCREEN_TC:SAPMV45A:4908/tblSAPMV45ATCTRL_U_ERF_KONTRAKT/ctxtVBAP-KDMAT[5," & CStr(Row) & "]").SetFocus

你也需要为第二个字符串执行此操作。

您还使用了错误的关键字。这不是SAP ABAP,这是SAPGUI scripting