Vba SAP GUI脚本-按钮按下失败

Vba SAP GUI脚本-按钮按下失败,vba,sap-gui,Vba,Sap Gui,我正在运行SAP GUI的Excel文件中使用宏。有一个步骤,当我点击SAP中的一个按钮时,会弹出另一个窗口 为此,我编写了如下代码: session.findbyid("wnd[0]/XX/btnXX").press session.findbyid("wnd[1]/XX/btnXXX").press 窗口中有一个按钮(btnXXX)(wnd[1])。但是当我执行这个查询时,我得到了一个未找到findbyid的错误对象 当我保留断点并执行它时,它在上面代码的第二行抛出错误。我尝试选择acti

我正在运行SAP GUI的Excel文件中使用宏。有一个步骤,当我点击SAP中的一个按钮时,会弹出另一个窗口

为此,我编写了如下代码:

session.findbyid("wnd[0]/XX/btnXX").press
session.findbyid("wnd[1]/XX/btnXXX").press
窗口中有一个按钮(
btnXXX
)(
wnd[1]
)。但是当我执行这个查询时,我得到了一个未找到
findbyid
的错误对象

当我保留断点并执行它时,它在上面代码的第二行抛出错误。我尝试选择
activewindow.name
,它仍然显示
wnd[0]
。这里的问题是
wnd[1]
没有打开


有人知道为什么第二次“按键”不起作用吗?

你应该能够用键盘笔划代替所有的鼠标点击

替换:

session.findbyid("wnd[0]/XX/btnXX").press
与:

其中N是链接的热键ID

要获得准确的命令,请使用SAP脚本录制,并且仅使用键盘在视图和窗口之间进行转换。确定方法的最简单方法是将鼠标悬停在通常单击的按钮上,学习热键,然后录制热键

注1)到目前为止,我发现btn[XX]始终映射到sendVKey(XX),但我不能确定情况是否总是如此


注2)即使按钮位于另一层下方(/tbar、/usr等),sendVKey始终显示为在窗口外引用(wnd[Y])。

这是非SAPGUI弹出窗口吗?什么生成SAP GUI记录器?您能解释一下您使用/显示的是什么屏幕吗?这是一个SAP GUI弹出窗口。记录器还生成wnd[1]请添加屏幕截图,这很重要。目前,我发现几乎无法提供帮助。另外,你能创建一个并粘贴到这里吗?我也有同样的错误。一些简单的操作,比如交易栏对按下检查按钮没有响应,但如果我按下回车键,它就会工作。想知道你是否能解决这个问题。
session.findById("wnd[0]").sendVKey(N)