SAP GUI上下文菜单无法访问

问题描述

我有一个SAP GUI界面,除了上下文菜单以外,都可以使用。在这种特殊情况下,我们试图自动将附件添加到设备主机。用于此操作的按钮在标题栏中的上下文菜单中。

当我执行脚本录制时,会得到以下用于选择上下文菜单的行。如果您在打开事务的情况下运行它,则效果很好。

session.findById("wnd[0]/titl/shellcont/shell").selectContextMenuItem "%GOS_PCATTA_CREA"

当我将其添加到用于编辑设备主设备的C#代码中时,出现错误方法得到且参数无效”。

GuiShell objectShell =  (GuiShell)SapSession.FindById("wnd[0]/titl/shellcont/shell");

objectShell.SelectContextMenuItem("%GOS_PCATTA_CREA");

如果不是'%GOS_PCATTA_CREA',我不确定如何获取正确的功能代码。这是我们唯一无法操纵的对象类型。

解决方法

戳了几天之后,我发现了。

Shell拥有一个工具栏,似乎VBA代码中有一些翻译,可以直接访问C#不能访问的Shell中的工具栏。

有效的代码如下。它将打开上下文菜单,然后打开附件对话框。

number