如何使用VBS脚本记录滚动到页面底部?

2020-08-22 18:13发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在编写一个程序,该程序利用V...

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

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


我正在编写一个程序,该程序利用VBScript从SAP中获取数据。 当我加载大数据表时,选择它,然后将其复制,我收到一条消息,提示并非所有数据都复制到剪贴板。 如果在选择数据之前向下滚动,则会填充未复制的行。 因此,在我的脚本中,我希望页面向下滚动,然后再选择所有数据并将其复制。

我已经研究过使用" sendkey"方法作为向下翻页键,但是我的研究使我相信这种命令实际上不适用于SAP。 宏记录器也没有接受我手动向下滚动的动作。

还有另一种方法吗? 还是我误以为以前尝试的方法是错误的。

3条回答
Aaron 3364
2020-08-22 18:32

大家好,

在过去的三年中,我遇到了同样的问题。

"当我加载大数据表时,选择它,然后将其复制,我收到一条消息,提示并非所有数据都复制到剪贴板。如果在选择数据之前向下滚动,则不选择的行 复制的内容会被填充。因此,在我的脚本中,我希望页面向下滚动,然后再选择所有数据并将其复制。"

我是自学成才的,因此我的解决方案虽然粗糙但有效。

我的数据始终具有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 = 30 <关于错误恢复下一个
session.findById(" wnd [0]/usr/cntlGRID1/shellcont/shell /shellcont[1]/shell").currentCellRow = 60错误时恢复下一个 session.findById(" wnd [0]/usr/cntlGRID1/shellcont/shell/shellcont [1]/shell")。 currentCellRow = 90
错误继续下一个

希望这会有所帮助!

一周热门 更多>