点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我想问一下如何保存从SAP生成的报告并将其保存到指定的驱动器。 我正在尝试@ script.man给出的代码,但不幸的是,我的某些地方不正确。 请帮助。
这是代码:
公共子GSAPpost() AdjID = Sheet4.Cells(4,11) 合约= Sheet4.Cells(10,4) 'filepathsave = Range(" J29")。value&" \" 如果Month(Now)<9那么 monthtoday =" 0"&Month(Now) 其他 今日=月(现在) 万一 如果Day(Now)<9那么 daytoday =" 0"&Day(Now) 其他 今天=天(现在) 万一 Set SapGuiAuto = GetObject(" SAPGUI")'获取SAP GUI脚本对象 设置SAPApp = SapGuiAuto.GetScriptingEngine'获取当前正在运行的SAP GUI Set SAPCon = SAPApp.Children(0)'获取当前已连接的第一个系统 设置会话= SAPCon.Children(0)'获取该连接上的第一个会话(窗口) session.findById(" wnd [0]/tbar [0]/okcd")。Text ="/img/NREAJSH" session.findById(" wnd [0]")。sendVKey 0 session.findById(" wnd [0]/usr/ctxtP_PEXTID")。Text = AdjID session.findById(" wnd [0]/usr/ctxtP_PEXTID")。caretPosition = 34 session.findById(" wnd [0]/tbar [1]/btn [8]")。按 session.findById(" wnd [0]/usr/cntlCC_ADJM_ADJMREC_GRID/shellcont/shell")。pressToolbarContextButton"&MB_EXPORT" session.findById(" wnd [0]/usr/cntlCC_ADJM_ADJMREC_GRID/shellcont/shell")。selectContextMenuItem"&XXL" session.findById(" wnd [1]/usr/cmbG_LISTBOX")。SetFocus session.findById(" wnd [1]/usr/cmbG_LISTBOX")。Key =" 08" session.findById(" wnd [1]/tbar [0]/btn [0]")。按 session.findById(" wnd [1]/tbar [0]/btn [0]")。按 session.findById(" wnd [1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG [0,0]")。选择 session.findById(" wnd [1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG [0,0]")。SetFocus session.findById(" wnd [1]/tbar [0]/btn [0]")。按 session.findById(" wnd [1]/tbar [0]/btn [0]")。按 'session.findById(" wnd [1]/tbar [0]/btn [0]")。press 'session.findById(" wnd [0]/tbar [0]/btn [12]")。press session.findById(" wnd [0]/tbar [0]/btn [12]")。按 session.findById(" wnd [0]/tbar [1]/btn [9]")。按 session.findById(" wnd [0]/mbar/menu [0]/menu [1]/menu [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]/tbar [0]/btn [0]")。按 session.findById(" wnd [1]/usr/ctxtDY_PATH")。Text = filepathsave session.findById(" wnd [1]/usr/ctxtDY_FILENAME")。Text =" TR_PP SIM PLOG VNDR LI"&contractno&" _"&Year(Now)&monthtoday&daytoday&" .xls" session.findById(" wnd [1]/tbar [0]/btn [11]")。按 SAP_Workbook ="基于工作表的工作表(1)" EXCEL_Path =" \ ........... \ ADJ模拟" myWorkbook =" TR_FREEADJ SIM VNDR LI"&合同&" _"&Year(Now)&monthtoday&daytoday&" .xlsx" 关于错误继续 做 错误清除 设置xclapp = GetObject(," Excel.Application") 如果Err.Number = 0,则退出执行 'msgbox"等待Excel会话" wscript.sleep 2000 循环 做 错误清除 设置xclwbk = xclapp.Workbooks.Item(SAP_Workbook) 如果Err.Number = 0,则退出执行 'msgbox"等待SAP工作簿" wscript.sleep 2000 循环 出错时转到0 设置xclsheet = xclwbk.Worksheets(1) xclapp.Visible =真 xclapp.DisplayAlerts = False xclapp.ActiveWorkbook.SaveAs EXCEL_Path和myWorkbook xclapp.ActiveWorkbook.Close 设置xclwbk = Nothing 设置xclsheet = Nothing 'xclapp.Quit 设置xclapp = Nothing 'session.findById(" wnd [0]/tbar [0]/okcd")。Text ="/img/n" 'session.findById(" wnd [0]")。sendVKey 0 结束子
炸弹架,
SAP也得到了进一步发展。 人们不再需要前一种解决方法。 因此,解决方案可能如下所示。
例如:
问候,
ScriptMan
非常感谢ScriptMan。 :)代码在excel冻结之前一直运行良好,并提示"无响应"。
一周热门 更多>