SAP Excel VBA脚本

2020-08-23 14:51发布

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

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


嗨,

我正在使用以下vba代码将数据从SAP提取到excel。在这种情况下,vba代码将参数插入到SAP交易代码选择中(例如20070203)并执行/导出报告。
是否可以创建VBA代码,该代码将从excel复制参数并将其粘贴到T代码中,而不是现在确定的值20070203?
例如从第一行A列的excel表格单元格中。必须更新代码的哪一部分以及如何更新?

感谢您的帮助!

 IfNot IsObject(应用程序)然后设置SapGuiAuto = GetObject(" SAPGUISERVER")Setapplication = SapGuiAuto.GetScriptingEngine
 EndIfIfNot IsObject(connection)ThenSetconnection = application.Children(0)EndIfIfNot IsObject(session)ThenSet session = connection.Children(0)EndIfIf IsObject(WScript)Then
    WScript.ConnectObject会话,"开启"
    WScript.ConnectObject应用程序,在" EndIf"上
 session.findById(" wnd [0]")。resizeWorkingPane 270,33,false
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/usr/ctxtSD_SAKNR-LOW")。text =" 20070203"-"要从EXCEL复制的值"!
 session.findById(" wnd [0]/usr/ctxtSD_BUKRS-LOW")。text =" AT06"
 session.findById(" wnd [0]/usr/ctxtSD_SAKNR-LOW")。caretPosition = 8
 session.findById(" wnd [1]/usr/subSUBSCREEN:SAPLSPRI:0600/cmbPRIPAR_DYN-PRIMM")。setFocus
 session.findById(" wnd [1]/usr/subSUBSCREEN:SAPLSPRI:0600/cmbPRIPAR_DYN-PRIMM")。key =""
 session.findById(" wnd [1]/tbar [0]/btn [13]")。按
 session.findById(" wnd [1]/usr/btnSOFORT_PUSH")。press
 session.findById(" wnd [1]/tbar [0]/btn [0]")。按
 session.findById(" wnd [1]/tbar [0]/btn [11]")。按
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/usr/ctxtBTCH2170-FROM_DATE")。text =" 01.01.2020"
 session.findById(" wnd [0]/usr/ctxtBTCH2170-TO_DATE")。text =" 31.12.2999" Application.Wait(Now + TimeValue(" 0:00:10"))
 session.findById(" wnd [0]/usr/ctxtBTCH2170-TO_DATE")。setFocus
 session.findById(" wnd [0]/usr/ctxtBTCH2170-TO_DATE")。caretPosition = 10
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]")。sendVKey 8
 session.findById(" wnd [0]/usr/lbl [136,10]")。setFocus
 session.findById(" wnd [0]/usr/lbl [136,10]")。caretPosition = 5
 session.findById(" wnd [0]")。sendVKey 2
 session.findById(" wnd [0]/usr/lbl [147,10]")。setFocus
 session.findById(" wnd [0]/usr/lbl [147,10]")。caretPosition = 3
 session.findById(" wnd [0]")。sendVKey 2
 session.findById(" wnd [0]")。sendVKey 40
 session.findById(" wnd [0]/usr/chk [1,12]")。selected = true
 session.findById(" wnd [0]/usr/chk [1,12]")。setFocus
 session.findById(" wnd [0]")。sendVKey 44
 session.findById(" wnd [0]/usr/chk [1,3]")。selected = true
 session.findById(" wnd [0]/usr/lbl [21,3]")。setFocus
 session.findById(" wnd [0]/usr/lbl [21,3]")。caretPosition = 0
 session.findById(" wnd [0]")。sendVKey 2
 session.findById(" wnd [1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG [1,0]")。选择
 session.findById(" wnd [1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG [1,0]")。setFocus
 session.findById(" wnd [1]/tbar [0]/btn [0]")。按
 session.findById(" wnd [1]/usr/ctxtDY_PATH")。text =" C:\ ..."
 session.findById(" wnd [1]/usr/ctxtDY_FILENAME")。text =" TEST_AT06_2.xls"
 session.findById(" wnd [1]/usr/ctxtDY_FILENAME")。caretPosition = 9
 session.findById(" wnd [1]/tbar [0]/btn [0]")。按
 session.findById(" wnd [0]/tbar [0]/btn [15]")。press 

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

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


嗨,

我正在使用以下vba代码将数据从SAP提取到excel。在这种情况下,vba代码将参数插入到SAP交易代码选择中(例如20070203)并执行/导出报告。
是否可以创建VBA代码,该代码将从excel复制参数并将其粘贴到T代码中,而不是现在确定的值20070203?
例如从第一行A列的excel表格单元格中。必须更新代码的哪一部分以及如何更新?

感谢您的帮助!

 IfNot IsObject(应用程序)然后设置SapGuiAuto = GetObject(" SAPGUISERVER")Setapplication = SapGuiAuto.GetScriptingEngine
 EndIfIfNot IsObject(connection)ThenSetconnection = application.Children(0)EndIfIfNot IsObject(session)ThenSet session = connection.Children(0)EndIfIf IsObject(WScript)Then
    WScript.ConnectObject会话,"开启"
    WScript.ConnectObject应用程序,在" EndIf"上
 session.findById(" wnd [0]")。resizeWorkingPane 270,33,false
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/usr/ctxtSD_SAKNR-LOW")。text =" 20070203"-"要从EXCEL复制的值"!
 session.findById(" wnd [0]/usr/ctxtSD_BUKRS-LOW")。text =" AT06"
 session.findById(" wnd [0]/usr/ctxtSD_SAKNR-LOW")。caretPosition = 8
 session.findById(" wnd [1]/usr/subSUBSCREEN:SAPLSPRI:0600/cmbPRIPAR_DYN-PRIMM")。setFocus
 session.findById(" wnd [1]/usr/subSUBSCREEN:SAPLSPRI:0600/cmbPRIPAR_DYN-PRIMM")。key =""
 session.findById(" wnd [1]/tbar [0]/btn [13]")。按
 session.findById(" wnd [1]/usr/btnSOFORT_PUSH")。press
 session.findById(" wnd [1]/tbar [0]/btn [0]")。按
 session.findById(" wnd [1]/tbar [0]/btn [11]")。按
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/usr/ctxtBTCH2170-FROM_DATE")。text =" 01.01.2020"
 session.findById(" wnd [0]/usr/ctxtBTCH2170-TO_DATE")。text =" 31.12.2999" Application.Wait(Now + TimeValue(" 0:00:10"))
 session.findById(" wnd [0]/usr/ctxtBTCH2170-TO_DATE")。setFocus
 session.findById(" wnd [0]/usr/ctxtBTCH2170-TO_DATE")。caretPosition = 10
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]")。sendVKey 8
 session.findById(" wnd [0]/usr/lbl [136,10]")。setFocus
 session.findById(" wnd [0]/usr/lbl [136,10]")。caretPosition = 5
 session.findById(" wnd [0]")。sendVKey 2
 session.findById(" wnd [0]/usr/lbl [147,10]")。setFocus
 session.findById(" wnd [0]/usr/lbl [147,10]")。caretPosition = 3
 session.findById(" wnd [0]")。sendVKey 2
 session.findById(" wnd [0]")。sendVKey 40
 session.findById(" wnd [0]/usr/chk [1,12]")。selected = true
 session.findById(" wnd [0]/usr/chk [1,12]")。setFocus
 session.findById(" wnd [0]")。sendVKey 44
 session.findById(" wnd [0]/usr/chk [1,3]")。selected = true
 session.findById(" wnd [0]/usr/lbl [21,3]")。setFocus
 session.findById(" wnd [0]/usr/lbl [21,3]")。caretPosition = 0
 session.findById(" wnd [0]")。sendVKey 2
 session.findById(" wnd [1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG [1,0]")。选择
 session.findById(" wnd [1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG [1,0]")。setFocus
 session.findById(" wnd [1]/tbar [0]/btn [0]")。按
 session.findById(" wnd [1]/usr/ctxtDY_PATH")。text =" C:\ ..."
 session.findById(" wnd [1]/usr/ctxtDY_FILENAME")。text =" TEST_AT06_2.xls"
 session.findById(" wnd [1]/usr/ctxtDY_FILENAME")。caretPosition = 9
 session.findById(" wnd [1]/tbar [0]/btn [0]")。按
 session.findById(" wnd [0]/tbar [0]/btn [15]")。press 
付费偷看设置
发送
1条回答
clasier
1楼-- · 2020-08-23 15:07

您可以尝试以下操作。

例如:

 设置SapGuiAuto = GetObject(" SAPGUISERVER")
 设置SAPapplication = SapGuiAuto.GetScriptingEngine
 设置连接= SAPapplication.Children(0)
 设置会话= connection.Children(0)


 session.findById(" wnd [0]")。resizeWorkingPane 270,33,false
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/usr/ctxtSD_SAKNR-LOW")。text = cells(1,1).value
 session.findById(" wnd [0]/usr/ctxtSD_BUKRS-LOW")。text =" AT06"
 ...
 

关于ScriptMan

一周热门 更多>