SAP excel 脚本列循环
SAP excel script Column loop
我正在尝试使用脚本通过 PFCG 自动执行 SAP 组织级别更新。我可以毫无问题地让行更新循环工作。我单独测试了这个,它完美地工作!
我无法真正开始工作的是列循环。我可以手动执行此操作,但是一遍又一遍地复制和粘贴这样的行以模拟列循环是荒谬的:
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1,0]").caretPosition = 4
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1,1]").caretPosition = 4
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1,2]").caretPosition = 4`
知道如何实现列循环吗?
introw=2
Do while objsheet.Cells(introw,1).value <> ""
session.findById("wnd[0]/tbar[0]/okcd").text = "/nPFCG"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtAGR_NAME_NEU").text = objsheet.Cells(introw,1).value
session.findById("wnd[0]/usr/ctxtAGR_NAME_NEU").caretPosition = 11
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/btn%#AUTOTEXT001").press
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpTAB5").select
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpTAB5/ssubSUB1:SAPLPRGN_TREE:0350/btnPROFIL1").press
session.findById("wnd[0]/tbar[1]/btn[32]").press
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1,0]").text = objsheet.Cells(introw,2).value
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1,0]").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[1]/btn[17]").press
session.findById("wnd[0]/tbar[0]/btn[3]").press
introw = introw + 1
Loop
输入文件截图:
3列的例子可以这样实现:
for intcol = 0 to 2
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1," & cstr(intcol) & "]").caretPosition = 4
next intcol
问候,ScriptMan
我正在尝试使用脚本通过 PFCG 自动执行 SAP 组织级别更新。我可以毫无问题地让行更新循环工作。我单独测试了这个,它完美地工作!
我无法真正开始工作的是列循环。我可以手动执行此操作,但是一遍又一遍地复制和粘贴这样的行以模拟列循环是荒谬的:
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1,0]").caretPosition = 4
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1,1]").caretPosition = 4
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1,2]").caretPosition = 4`
知道如何实现列循环吗?
introw=2
Do while objsheet.Cells(introw,1).value <> ""
session.findById("wnd[0]/tbar[0]/okcd").text = "/nPFCG"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtAGR_NAME_NEU").text = objsheet.Cells(introw,1).value
session.findById("wnd[0]/usr/ctxtAGR_NAME_NEU").caretPosition = 11
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/btn%#AUTOTEXT001").press
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpTAB5").select
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpTAB5/ssubSUB1:SAPLPRGN_TREE:0350/btnPROFIL1").press
session.findById("wnd[0]/tbar[1]/btn[32]").press
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1,0]").text = objsheet.Cells(introw,2).value
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1,0]").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[1]/btn[17]").press
session.findById("wnd[0]/tbar[0]/btn[3]").press
introw = introw + 1
Loop
输入文件截图:
3列的例子可以这样实现:
for intcol = 0 to 2
session.findById("wnd[1]/usr/tblSAPLSUPRNORG_TC/ctxtT_STORG-LOW[1," & cstr(intcol) & "]").caretPosition = 4
next intcol
问候,ScriptMan