从Excel复制值并使用GUI脚本粘贴到SAP中

2020-09-19 13:29发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 早上好。 我绝对是SAP新手。...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


早上好。 我绝对是SAP新手。 请帮我。

我想在运行脚本时从相同的Excel单元格复制更改的值并粘贴到相同的SAP目标位置。 但是,当我尝试添加工作表名称和单元格(row#,column#)。values以使其动态化时(代码如下所示),它给了我这样的错误:SAP Frontend Server:预期为')'-


(第一个记录的脚本),当我尝试编写动作以复制16个不同的单元格值(8行和2列)并将其粘贴到SAP中时,得到以下记录:

如果不是IsObject(应用程序),则
设置SapGuiAuto = GetObject(" SAPGUI")
设置应用程序= SapGuiAuto.GetScriptingEngine
如果,如果不是IsObject(连接),则结束,
设置 连接= application.Children(0)
如果不是IsObject(session),则结束

设置会话= connection.Children(0)
如果,如果是IsObject(WScript),则结束。 br> WScript.ConnectObject会话,在"上"
WScript.ConnectObject应用程序,在"上"
结束If
session.findById(" wnd [0]")。maximize

session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_B-AU")。setFocus
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1FC /ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_B-AU").caretPosition = 15
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/btnYYIMPFMM1000-BUTT2")。 > session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_B-AU")。text =" 1"
session.findById(" wnd [0]/usr/tabsTAB1 /tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_C-AU").text =" 2"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYIMPF .text =" 688.52"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_C-AG")。text =" 658.18"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_B-AG_ST1")。text =" 688.52"
session .findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_C-AG_ST1")。text =" 660.21"
session.findById(" wnd [0]/usr/tabsTAB1/FCp1B1 /ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_B-PT").text =" 37,888.45"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUE" _C。 =" 36,708.00"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_B-PD")。text =" 37971.38"
session.findById(" wnd [ 0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_C-PD")。text =" 36748.74"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYI /txtYYIMPFMMVALUES_B-RH").text =" 83,758.87"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_C-RH")。text =" 82,297.62" > session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_ B-IR")。text =" 43,538.03"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_C-IR")。text =" 42,778.47"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_B-RU")。text =" 9,692.39"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_C-RU")。text =" 9,370.52"
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM-CMM-1000")。 setFocus
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_C-RU")。caretPosition = 15
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/btnYYIMPFMM1000-BUTT3")。press
session.findById(" wnd [1]/usr/btnBUTTON_1")。press
session.findById(" wnd [1]/tbar [0]/btn [0]")。按


(已录制脚本的第二次添加)添加了使单元格值动态化的代码:

...
如果IsObject(WScript)然后
WScript.ConnectObject会话,在"上"
WScript.ConnectObject应用程序,在"上"
如果

设置xcl =创建对象(" Excel.Application")
设置wbk = xcl.Openworkbook([[I:\ JEP-Public \ Markets \ [Daily Markets-NEW.xlsx] Trader Sheet'])
设置sht =表格("交易者表格")

session.findById(" wnd [0]")。maximize
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_B-AU")。 文字= sht.cells(3,2).value
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_C-AU")。 文字= sht.cells(3,3).value
session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_B-AG")。 文字= sht.cells(4,2).value

...

谢谢。

1条回答
clasier
2020-09-19 14:02

你好,法兹,

我将如下更改程序顺序:

。  。  。
 设置xcl = CreateObject(" Excel.Application")
 xcl.Visible =真
 'xcl.displayalerts = false
 xcl.workbooks.open(" I:\ JEP-Public \ Markets \ Daily Markets-NEW.xlsx")

 session.findById(" wnd [0]")。maximize
 session.findById(" wnd [0]/usr/tabsTAB1/tabpTAB1_FC1/ssub1000_SCA:SAPLYIMP_FMM:1000/txtYYIMPFMMVALUES_B-AU")。text = xcl.cells(3,2).value
 。  。  。

 设置xcl = Nothing
 'xcl.Quit
 

此致

ScriptMan

一周热门 更多>