点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试制作用于大量上传的脚本,所以我的意思是我去了sap记录回放,我重新记录了步骤,并尝试了以相同材质,相同工厂和特定工厂运行的播放选项 状态在这里,我需要连接我的Excel,但我不知道我也在互联网上搜索过,但直到现在我仍无法找到解决方案...
记录的脚本如下,
如果不是IsObject(application)那么
设置SapGuiAuto = GetObject(" SAPGUI")
设置应用程序= SapGuiAuto.GetScriptingEngine
如果结束
如果不是IsObject(连接),则
设置连接= application.Children(0)
如果结束
如果不是IsObject(session)那么
设置会话= connection.Children(0)
如果结束
如果IsObject(WScript)然后
WScript.ConnectObject会话,"打开"
WScript.ConnectObject应用程序,"打开"
如果结束
session.findById(" wnd [0]")。maximize
session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/nzpb2"
session.findById(" wnd [0]")。sendVKey 0
session.findById(" wnd [0]/usr/ctxtRMMG1-MATNR")。text =" 910402635318"
session.findById(" wnd [0]/usr/ctxtRMMG1-MATNR")。caretPosition = 12
session.findById(" wnd [0]")。sendVKey 0
session.findById(" wnd [1]/usr/tblSAPLMGMMTC_VIEW")。getAbsoluteRow(5).selected = true
session.findById(" wnd [1]/usr/tblSAPLMGMMTC_VIEW/txtMSICHTAUSW-DYTXT [0,5]")。setFocus
session.findById(" wnd [1]/usr/tblSAPLMGMMTC_VIEW/txtMSICHTAUSW-DYTXT [0,5]")。caretPosition = 0
session.findById(" wnd [1]")。sendVKey 0
session.findById(" wnd [1]/usr/ctxtRMMG1-WERKS")。text =" SG03"
session.findById(" wnd [1]/usr/ctxtRMMG1-WERKS")。caretPosition = 4
session.findById(" wnd [1]")。sendVKey 0
session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTA")。text =" ZG"
session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTD")。text =" 18.06.2019"
session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTA")。setFocus
session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTA")。caretPosition = 2
session.findById(" wnd [0]")。sendVKey 0
session.findById(" wnd [0]")。sendVKey
您好babu karthik,
您可以查看以下链接并获得有用的建议:
https://answers.sap。 com/questions/7381883/transfering-data-from-excel-to-sap.html
此致
ScriptMan
录制的脚本如下所示,
如果不是IsObject(application)那么
设置SapGuiAuto = GetObject(" SAPGUI")
设置应用程序= SapGuiAuto.GetScriptingEngine
如果结束
如果不是IsObject(连接),则
设置连接= application.Children(0)
如果结束
如果不是IsObject(session)那么
设置会话= connection.Children(0)
如果结束
如果IsObject(WScript)然后
WScript.ConnectObject会话,"打开"
WScript.ConnectObject应用程序,"打开"
如果结束
session.findById(" wnd [0]")。maximize
session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/nzpb2"
session.findById(" wnd [0]")。sendVKey 0
session.findById(" wnd [0]/usr/ctxtRMMG1-MATNR")。text =" 910402635318"
session.findById(" wnd [0]/usr/ctxtRMMG1-MATNR")。caretPosition = 12
session.findById(" wnd [0]")。sendVKey 0
session.findById(" wnd [1]/usr/tblSAPLMGMMTC_VIEW")。getAbsoluteRow(5).selected = true
session.findById(" wnd [1]/usr/tblSAPLMGMMTC_VIEW/txtMSICHTAUSW-DYTXT [0,5]")。setFocus
session.findById(" wnd [1]/usr/tblSAPLMGMMTC_VIEW/txtMSICHTAUSW-DYTXT [0,5]")。caretPosition = 0
session.findById(" wnd [1]")。sendVKey 0
session.findById(" wnd [1]/usr/ctxtRMMG1-WERKS")。text =" SG03"
session.findById(" wnd [1]/usr/ctxtRMMG1-WERKS")。caretPosition = 4
session.findById(" wnd [1]")。sendVKey 0
session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTA")。text =" ZG"
session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTD")。text =" 18.06.2019"
session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTA")。setFocus
session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTA")。caretPosition = 2
session.findById(" wnd [0]")。sendVKey 0
session.findById(" wnd [0]")。sendVKey 0
session.findById(" wnd [1]/usr/btnSPOP-OPTION1")。按
嗨,
使用csonger提供的SAP GUI脚本在管中进行搜索,您会发现个好主意。 如果您不与我联系,我会为您服务。
致谢
Mahe
...
''从状态栏获取消息并将其保存在B列中
objSheet.Cells(iRow,2)= session.findbyid(" wnd [0]/sbar")。Text
...
嗨,脚本人
下面显示了我的最终代码,但问题是sap正在运行,并且正在保存诸如"保存数据或将出现任何错误mgs"之类的注释,我需要在excel中添加此注释,请提供帮助。
公共Sub SimpleSAPExport()
将对象的昏暗连接作为
将Myimvalue变种作为
Dim Myvalue2作为变体
将objSheet1当作工作表
Set SapGuiAuto = GetObject(" SAPGUI")'获取SAP GUI脚本对象
Set SAPApp = SapGuiAuto.GetScriptingEngine'获取当前正在运行的SAP GUI
Set SAPCon = SAPApp.Children(0)'获取 当前连接的第一个系统
Set Session = SAPCon.Children(0)'获取该连接上的第一个会话(窗口)
如果不是IsObject(SAPApp),则
设置SapGuiAuto = GetObject(" SAPGUI")
设置SAPApp = SapGuiAuto.GetScriptingEngine
如果结束
如果不是IsObject(连接),则
设置连接= SAPconnection.Children(0)
如果结束
如果不是IsObject(Session),则
设置会话= connection.Children(0)
如果结束
如果IsObject(WScript)然后
WScript.ConnectObject会话,"开启"
WScript.ConnectObject SAPApp,"打开"
结束If
Session.findById(" wnd [0]")。maximize
Dim objExcel,objWorkbook,objSheet,i
将Dim A作为变体
" Dim B为变体形式
设置objExcel = CreateObject(" Excel.Application")
myfile = application.GetOpenFilename(,,"浏览工作表")
工作簿。打开myfile
设置objSheet = ActiveWorkbook.Sheets(" Sheet1")
'A = Input("输入开始行","")
'B = Input("输入结束行","")
Myvalue = InputBox("给我一些输入")
Myvalue2 = InputBox("给我一些输入")
StopNow = False
'对于i = 2到1000
对于iRow = Myvalue To Myvalue2
'在状态为0的行之间循环并调用ProcessRow函数对其进行处理
'对于iRow =开始行到objSheet.UsedRange.Rows.Count
'如果objSheet.Cells(iRow, 3)=" 0"然后
'调用ProcessRow(iRow)
'itemcount = itemcount + 1
'objSheet.Cells(9,1)= itemcount&"/"&itemmax
'结束 If
'Next
Range(" A1")。Value = i
'DoEvents
'Function ProcessRow(iRow)
'Dim W_BPNumber,W_SearchTerm
'Dim lineitems As Long
'
'将行状态设置为"正在处理..."
'objSheet.Cells(iRow,5)= 1
'BP号
'如果objSheet.Cells(iRow,1)<>""然后
'W_BPNumber = objSheet.Cells(iRow,1)
'Else
'W_BPNumber =" xxxxxx"
'如果结束
'Seartch词
'如果objSheet.Cells(iRow,2)<>""然后
'W_SearchTerm = objSheet.Cells(iRow,2)
'Else
'W_SearchTerm =" "
'如果结束
col1 = Trim(CStr(objSheet.Cells(iRow,1).Value))'Column1
COL2 = Trim(CStr(objSheet.Cells(iRow,2).Value))'Column2 < br> COL3 = Trim(CStr(objSheet.Cells(iRow,3).Value))'Column3
COL4 = Trim(CStr(objSheet.Cells(iRow,4).Value))'Column4
出错时转到Myerr
Session.findById(" wnd [0]/tbar [0]/okcd")。Text ="/img/nzpb2"
Session.findById(" wnd [0]")。sendVKey 0
Session。 findById(" wnd [0]/usr/ctxtRMMG1-MATNR")。Text = col1
Session.findById(" wnd [0]/usr/ctxtRMMG1-MATNR")。caretPosition = 12
Session.findById( " wnd [0]")。sendVKey 0
Session.findById(" wnd [1]/usr/tblSAPLMGMMTC_VIEW")。getAbsoluteRow(5).Selected = True <出现错误时恢复下一个
Session.findById (" wnd [1]/usr/tblSAPLMGMMTC_VIEW/txtMSICHTAUSW-DYTXT [0,5]")。SetFocus
Session.findById(" wnd [1]/usr/tblSAPLMGMMTC_VIEW/txtMSICHTAUSW-DYTXT [0,5]") .caretPosition = 0
Session.findById(" wnd [1]")。sendVKey 0
Session.findById(" wnd [1]/usr/ctxtRMMG1-WERKS")。Text = COL2
Session。 findById(" wnd [1]/usr/ctxtRMMG1-WERKS")。caretPosition = 4
Session.findById(" wnd [1]")。sendVKey 0
Session.findById(" wnd [0]/usr /tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTA").Text = COL3
错误恢复下一个
Session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAP LMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTD")。文本= COL4
错误恢复下一个
Session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000 /subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTD").SetFocus
Session.findById(" wnd [0]/usr/tabsTABSPR1/tabpSP11/ssubTABFRA1:SAPLMGMM:2000/subSUB2:SAPLMGD1:2301/ctxtMARC-MMSTD") .caretPosition = 10
Session.findById(" wnd [0]")。sendVKey 0
Session.findById(" wnd [1]/usr/btnSPOP-OPTION1")。按
打开错误继续下一页
如果StopNow,则退出
'Session.findById(" wnd [1]/usr/tblSAPLMGMMTC_VIEW")。getAbsoluteRow(5).Selected = False
'从状态栏获取消息并将其保存在B
objSheet列中。 单元格(iRow,5)= objSBar.Text
'将状态更新为"已完成"并退出
objSheet.Cells(iRow,5)= 2
'退出函数
'myerr:
'将状态更新为" Error" < br> objSheet.Cells(iRow,5)= 3
下一个iRow
'结束功能
结束子
嗨,先生
我有一些疑问,能否请您帮忙<主持人删除的联系电话> plss bro我正在作为项目进行此操作
一周热门 更多>