Power Automate中SAP录制VBScript替换变量后语法错误求助
Power Automate中SAP VBScript变量替换后出现语法错误
我在Power Automate中创建了两个变量DtIni和DtFim,通过消息框让用户输入SAP事务数据提取所需的起始和结束日期。录制SAP数据提取自动化的VBScript后,将脚本中的固定日期替换为Power Automate变量%DtIni%和%DtFim%,但Power Automate无法识别这些变量,持续提示语法错误。原脚本可正常运行,相关代码及错误信息如下:
原VBScript脚本
If Not IsObject(application) Then Set SapGuiAuto = GetObject("SAPGUI") Set application = SapGuiAuto.GetScriptingEngine End If If Not IsObject(connection) Then Set connection = application.Children(0) End If If Not IsObject(session) Then Set session = connection.Children(0) End If If IsObject(WScript) Then WScript.ConnectObject session, "on" WScript.ConnectObject application, "on" End If session.findById("wnd[0]").maximize session.findById("wnd[0]/tbar[0]/okcd").text = "zx_se16" session.findById("wnd[0]").sendVKey 0 session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").text = "zmpafedi_doc" session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").caretPosition = 12 session.findById("wnd[0]").sendVKey 3 session.findById("wnd[0]").sendVKey 8 session.findById("wnd[1]/tbar[0]/btn[14]").press session.findById("wnd[1]/usr/chk[2,9]").selected = true session.findById("wnd[1]/usr/chk[2,12]").selected = true session.findById("wnd[1]/usr/chk[2,13]").selected = true session.findById("wnd[1]/usr/chk[2,14]").selected = true session.findById("wnd[1]/usr/chk[2,16]").selected = true session.findById("wnd[1]/usr/chk[2,16]").setFocus session.findById("wnd[1]/usr").verticalScrollbar.position = 1 session.findById("wnd[1]/usr").verticalScrollbar.position = 2 session.findById("wnd[1]/usr").verticalScrollbar.position = 3 session.findById("wnd[1]/usr").verticalScrollbar.position = 4 session.findById("wnd[1]/usr").verticalScrollbar.position = 5 session.findById("wnd[1]/usr").verticalScrollbar.position = 6 session.findById("wnd[1]/usr").verticalScrollbar.position = 7 session.findById("wnd[1]/usr").verticalScrollbar.position = 8 session.findById("wnd[1]/usr").verticalScrollbar.position = 9 session.findById("wnd[1]/usr").verticalScrollbar.position = 10 session.findById("wnd[1]/usr").verticalScrollbar.position = 11 session.findById("wnd[1]/usr").verticalScrollbar.position = 12 session.findById("wnd[1]/usr").verticalScrollbar.position = 13 session.findById("wnd[1]/usr").verticalScrollbar.position = 14 session.findById("wnd[1]/usr").verticalScrollbar.position = 15 session.findById("wnd[1]/usr").verticalScrollbar.position = 16 session.findById("wnd[1]/usr").verticalScrollbar.position = 17 session.findById("wnd[1]/usr").verticalScrollbar.position = 18 session.findById("wnd[1]/usr").verticalScrollbar.position = 19 session.findById("wnd[1]/usr").verticalScrollbar.position = 20 session.findById("wnd[1]/usr").verticalScrollbar.position = 21 session.findById("wnd[1]/usr").verticalScrollbar.position = 22 session.findById("wnd[1]/usr/chk[2,13]").selected = true session.findById("wnd[1]/usr/chk[2,13]").setFocus session.findById("wnd[1]/tbar[0]/btn[0]").press session.findById("wnd[0]/usr/ctxtI1-LOW").text = "2" session.findById("wnd[0]/usr/ctxtI1-LOW").caretPosition = 1 session.findById("wnd[0]/usr/btn%_I2_%_APP_%-VALU_PUSH").press session.findById("wnd[1]/tbar[0]/btn[24]").press session.findById("wnd[1]/tbar[0]/btn[8]").press session.findById("wnd[0]/usr/ctxtI6-LOW").text = "01082022" session.findById("wnd[0]/usr/ctxtI6-HIGH").text = "25082022" session.findById("wnd[0]/usr/ctxtI6-HIGH").setFocus session.findById("wnd[0]/usr/ctxtI6-HIGH").caretPosition = 8 session.findById("wnd[0]/tbar[1]/btn[8]").press session.findById("wnd[0]/mbar/menu[6]/menu[5]/menu[2]/menu[2]").select session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[4,0]").select session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[4,0]").setFocus session.findById("wnd[1]/tbar[0]/btn[0]").press
修改后的VBScript脚本
If Not IsObject(application) Then Set SapGuiAuto = GetObject("SAPGUI") Set application = SapGuiAuto.GetScriptingEngine End If If Not IsObject(connection) Then Set connection = application.Children(0) End If If Not IsObject(session) Then Set session = connection.Children(0) End If If IsObject(WScript) Then WScript.ConnectObject session, "on" WScript.ConnectObject application, "on" End If session.findById("wnd[0]").maximize session.findById("wnd[0]/tbar[0]/okcd").text = "zx_se16" session.findById("wnd[0]").sendVKey 0 session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").text = "zmpafedi_doc" session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").caretPosition = 12 session.findById("wnd[0]").sendVKey 3 session.findById("wnd[0]").sendVKey 8 session.findById("wnd[1]/tbar[0]/btn[14]").press session.findById("wnd[1]/usr/chk[2,9]").selected = true session.findById("wnd[1]/usr/chk[2,12]").selected = true session.findById("wnd[1]/usr/chk[2,13]").selected = true session.findById("wnd[1]/usr/chk[2,14]").selected = true session.findById("wnd[1]/usr/chk[2,16]").selected = true session.findById("wnd[1]/usr/chk[2,16]").setFocus session.findById("wnd[1]/usr").verticalScrollbar.position = 1 session.findById("wnd[1]/usr").verticalScrollbar.position = 2 session.findById("wnd[1]/usr").verticalScrollbar.position = 3 session.findById("wnd[1]/usr").verticalScrollbar.position = 4 session.findById("wnd[1]/usr").verticalScrollbar.position = 5 session.findById("wnd[1]/usr").verticalScrollbar.position = 6 session.findById("wnd[1]/usr").verticalScrollbar.position = 7 session.findById("wnd[1]/usr").verticalScrollbar.position = 8 session.findById("wnd[1]/usr").verticalScrollbar.position = 9 session.findById("wnd[1]/usr").verticalScrollbar.position = 10 session.findById("wnd[1]/usr").verticalScrollbar.position = 11 session.findById("wnd[1]/usr").verticalScrollbar.position = 12 session.findById("wnd[1]/usr").verticalScrollbar.position = 13 session.findById("wnd[1]/usr").verticalScrollbar.position = 14 session.findById("wnd[1]/usr").verticalScrollbar.position = 15 session.findById("wnd[1]/usr").verticalScrollbar.position = 16 session.findById("wnd[1]/usr").verticalScrollbar.position = 17 session.findById("wnd[1]/usr").verticalScrollbar.position = 18 session.findById("wnd[1]/usr").verticalScrollbar.position = 19 session.findById("wnd[1]/usr").verticalScrollbar.position = 20 session.findById("wnd[1]/usr").verticalScrollbar.position = 21 session.findById("wnd[1]/usr").verticalScrollbar.position = 22 session.findById("wnd[1]/usr/chk[2,13]").selected = true session.findById("wnd[1]/usr/chk[2,13]").setFocus session.findById("wnd[1]/tbar[0]/btn[0]").press session.findById("wnd[0]/usr/ctxtI1-LOW").text = "2" session.findById("wnd[0]/usr/ctxtI1-LOW").caretPosition = 1 session.findById("wnd[0]/usr/btn%_I2_%_APP_%-VALU_PUSH").press session.findById("wnd[1]/tbar[0]/btn[24]").press session.findById("wnd[1]/tbar[0]/btn[8]").press session.findById("wnd[0]/usr/ctxtI6-LOW").text = "%DtIni%" session.findById("wnd[0]/usr/ctxtI6-HIGH").text = "%DtFim%" session.findById("wnd[0]/usr/ctxtI6-HIGH").setFocus session.findById("wnd[0]/usr/ctxtI6-HIGH").caretPosition = 8 session.findById("wnd[0]/tbar[1]/btn[8]").press session.findById("wnd[0]/mbar/menu[6]/menu[5]/menu[2]/menu[2]").select session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[4,0]").select session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[4,0]").setFocus session.findById("wnd[1]/tbar[0]/btn[0]").press
错误信息
Power Automate提示:The script engine reported an error in the script. [Line: 59, Column: 62] Syntax error(对应修改后脚本中替换变量的行)
我查阅资料并参考视频教程,操作步骤与示例一致,但仍出现该问题,恳请帮忙分析原因。
内容的提问来源于stack exchange,提问作者Thiago Ayusso
相关产品推荐
相关产品推荐

