点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在编写一个程序,该程序利用VBScript从SAP中获取数据。 当我加载大数据表时,选择它,然后将其复制,我收到一条消息,提示并非所有数据都复制到剪贴板。 如果在选择数据之前向下滚动,则会填充未复制的行。 因此,在我的脚本中,我希望页面向下滚动,然后再选择所有数据并将其复制。
我已经研究过使用" sendkey"方法作为向下翻页键,但是我的研究使我相信这种命令实际上不适用于SAP。 宏记录器也没有接受我手动向下滚动的动作。
还有另一种方法吗? 还是我误以为以前尝试的方法是错误的。
亚历山大,您好
您可以找到解决问题的方法此处。 我们在上下文中讨论了相同的问题,以便从网格中将任何表作为CSV文件加载。 在这种情况下,我们将网格的全部32行实现为表格的底部。
让我们知道您的结果。
干杯
Stefan
你好亚历山大,
很高兴听到这个消息。
干杯
Stefan
大家好,
在过去的三年中,我遇到了同样的问题。
"当我加载大数据表时,选择它,然后将其复制,我收到一条消息,提示并非所有数据都复制到剪贴板。如果在选择数据之前向下滚动,则不选择的行 复制的内容会被填充。因此,在我的脚本中,我希望页面向下滚动,然后再选择所有数据并将其复制。"
我是自学成才的,因此我的解决方案虽然粗糙但有效。
我的数据始终具有2到120之间的随机行数,但是您应该能够继续此模式以根据需要包括尽可能多的行。 该代码有效地导致SAP一次向下滚动约30行,填充了数据,因此当我复制该列时,便获得了所有信息。 如果我当前的单元格行是>实际的最后一行,则"在错误恢复下"可以防止崩溃。
在我的VBA中,添加了以下行:
错误恢复后
session.findById(" wnd [0]/usr/cntlGRID1/shellcont/shell/shellcont [1]/shell")。currentCellRow = 2 <关于错误恢复下一个 session.findById(" wnd [0]/usr/cntlGRID1/shellcont/shell/shellcont [1]/shell")。 currentCellRow = 90
session.findById(" wnd [ 0]/usr/cntlGRID1/shellcont/shell/shellcont [1]/shell")。currentCellRow = 30 <关于错误恢复下一个
session.findById(" wnd [0]/usr/cntlGRID1/shellcont/shell /shellcont[1]/shell").currentCellRow = 60错误时恢复下一个
错误继续下一个
希望这会有所帮助!
一周热门 更多>