我正在从VBA编写脚本并在SAP ABAB中使用记录的操作。我希望脚本输入某个事务粘贴一定的值(合同号),然后转到表中的某一行,双击它并在里面执行某个操作。
我在VBA中使用while循环,在Excel工作表中存储合同编号,脚本应该双击的行数,然后粘贴我需要的值。应该这样做,直到列a中的单元格为空。
代码: '我们在excel中声明了while函数的参数
xhr.setRequestHeader()
你可以在代码的VBS部分看到我试图用变量" row"替换行号,但代码不接受。 如果我在那里留下一个数字,它实际上做了我想要的,只要数字是我试图做的正确数字。
有人可以帮我这个吗?我使用if语句来解决行号的可能性数量有限,但这可能意味着需要很长的代码,并且可能会遗漏某些内容。 是否可以使行号引用代码中的变量。
我已经尝试在VBS中声明变量,但它不起作用。
答案 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。