点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我无法在MB51屏幕上创建脚本,代码看起来像这样:
Sub gerar_contagem() 设置会话= GetObject(" SAPGUI")。GetScriptingEngine.Children(0).Children(0) session.findById(" wnd [0]")。maximize session.findById(" wnd [0]/tbar [0]/okcd")。Text ="/img/NMB51" session.findById(" wnd [0]")。sendVKey 0 session.findById(" wnd [0]/tbar [1]/btn [17]")。按 session.findById(" wnd [1]/usr/txtENAME-LOW")。Text =" w890230" session.findById(" wnd [1]/usr/txtENAME-LOW")。SetFocus session.findById(" wnd [1]/usr/txtENAME-LOW")。caretPosition = 7 session.findById(" wnd [1]/tbar [0]/btn [8]")。按 session.findById(" wnd [1]/usr/cntlALV_CONTAINER_1/shellcont/shell")。currentCellColumn =" TEXT" session.findById(" wnd [1]/usr/cntlALV_CONTAINER_1/shellcont/shell")。selectedRows =" 0" session.findById(" wnd [1]/usr/cntlALV_CONTAINER_1/shellcont/shell")。doubleClickCurrentCell session.findById(" wnd [0]/usr/ctxtBUDAT-LOW")。SetFocus session.findById(" wnd [0]/usr/ctxtBUDAT-LOW")。caretPosition = 0 session.findById(" wnd [0]")。sendVKey 4 昏暗的objExcel 昏暗的objSheet,intRow,我 设置objExcel = GetObject(," Excel.Application") 设置objSheet = objExcel.ActiveWorkbook.ActiveSheet(1) 对于i = 2到objSheet.UsedRange.Rows.Count G8 = Trim(CStr(objSheet.Cells(i,7).Value))‘G8 I8 = Trim(CStr(objSheet.Cells(i,7).Value))‘I8 session.findById(" wnd [1]/usr/cntlCONTAINER/shellcont/shell")。focusDate = G8 session.findById(" wnd [1]/tbar [0]/btn [0]")。按 session.findById(" wnd [0]/usr/ctxtBUDAT-HIGH")。SetFocus session.findById(" wnd [0]/usr/ctxtBUDAT-HIGH")。caretPosition = 0 session.findById(" wnd [0]")。sendVKey 4 session.findById(" wnd [1]/usr/cntlCONTAINER/shellcont/shell")。focusDate = I8 session.findById(" wnd [1]/tbar [0]/btn [0]")。按 session.findById(" wnd [0]/tbar [1]/btn [8]")。按 session.findById(" wnd [0]/tbar [1]/btn [48]")。按 session.findById(" wnd [0]/mbar/menu [3]/menu [2]/menu [1]")。选择 session.findById(" wnd [1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/shellcont/shell")。setCurrentCell 27," TEXT" session.findById(" wnd [1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/shellcont/shell")。firstVisibleRow = 18 session.findById(" wnd [1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/shellcont/shell")。selectedRows =" 27" session.findById(" wnd [1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/shellcont/shell")。clickCurrentCell session.findById(" wnd [0]/mbar/menu [0]/menu [1]/menu [1]")。选择 session.findById(" wnd [1]/tbar [0]/btn [11]")。按 结束子
问题在于这些行的目的是将电子表格的单元格G8和I8中的信息插入屏幕MB51的日期字段中::
昏暗objExcel 昏暗的objSheet,intRow,我 设置objExcel = GetObject(," Excel.Application") 设置objSheet = objExcel.ActiveWorkbook.ActiveSheet(1) 对于i = 2到objSheet.UsedRange.Rows.Count G8 = Trim(CStr(objSheet.Cells(i,7).Value))‘G8 I8 = Trim(CStr(objSheet.Cells(i,7).Value))‘I8
有人可以帮我解决这个问题吗?
您好 Alex Eckert
我的意思是,您在"对于 循环。 是吗?否则,请提交错误消息,没有问题就很难说。
请注意,Mateusz
错误消息:
再次问好!
我再次编辑了帖子,并且我处于VBA的新阶段。
此时,问题在于在SAP窗口中停止脚本,运行VBA时我可以生成所需的文件,但是执行此任务的SAP窗口将继续无限执行该文件。
有什么材料或技巧可以解决吗?
感谢您的收听!
你好亚历克斯,
我建议放置一个断点并逐步执行代码以查找错误源。 此时,错误消息太笼统了。
请问候,Mateusz
非常感谢Mateusz!
您的评论很有启发性,我理解导致我复杂化的原因,并且设法达到了目标,最终代码如下:
Obrigado !!
请用英语指出错误文本。 这是一个英语论坛。 它对应于:
你好Alex,
尝试搜索互联网。 VBA已经存在了一段时间,并且在不同的论坛上都有大量的信息。 在这种情况下,您最喜欢的搜索引擎是您最好的朋友。
此外,请查看有关VBA的Microsoft页面:https://docs.microsoft.com/zh-cn/office/vba/api/overview/。
亲切的问候,Mateusz
一周热门 更多>