禁用脚本正在尝试访问 SAP GUI,而不是通过 SAP GUI 选项

Disable a script is attempting to access SAP GUI, not via the SAP GUI option

提问人:sephiroth 提问时间:9/14/2023 最后编辑:Sandra Rossisephiroth 更新时间:9/17/2023 访问量:157

问:

有没有其他方法可以使用Excel VBA禁用“脚本正在尝试访问SAP GUI”,而不是在SAP GUI的“辅助功能和脚本”设置中禁用?

我的意思是,每当弹出窗口出现时,VBA中的脚本将始终单击“确定”按钮。

enter image description here

Excel VBA SAP-GUI

评论

0赞 Storax 9/16/2023
你为什么要这样做?您可以通过修改注册表中的某些设置来关闭出现的弹出窗口。基本键是 。HKEY_CURRENT_USER\Software\SAP\SAPGUI Front\SAP Frontend Server\Security
0赞 Storax 9/17/2023
stackoverflow.com/a/53769018/6600940
0赞 sephiroth 9/17/2023
@Storax主要原因,因为一些用户他们仍然不知道并且不想按照“在SAP GUI的可访问性和脚本设置中禁用”的说明进行操作。教育所有用户非常困难,因此,如果有任何解决方案可以直接绕过通知“脚本正在尝试访问SAP GUI”,而无需在SAP中进行设置,这将非常有帮助。
0赞 Storax 9/17/2023
@sepiroth:如果你看一下链接的帖子,你会注意到可以使用VBA抑制你提到的警告。无需指导用户如何自己操作;您可以简单地为此目的使用 VBA
0赞 sephiroth 9/19/2023
嗨,@SandraRossi和Storax,终于我找到了问题的解决方案,这是从这个链接 stackoverflow.com/questions/71209992/...,我相信它与提到的Storack相似,只需要改变几行,现在它工作得很好。谢谢。

答:

0赞 Jan_B 9/14/2023 #1

由于此弹出窗口不是 SAP GUI 窗口,因此脚本引擎无法访问它(这毫无意义,因为只要用户未批准运行它,其目的是压制脚本)。

Maby 与这篇文章(这是针对 python 的,我不知道 vba 是这样的东西)您可以弄清楚如何向弹出窗口发送击键,但这对于脚本来说既不稳定也不可行。

如果要在没有警告的情况下运行脚本,请禁用警告。

评论

0赞 Sandra Rossi 9/15/2023
添加一些关于链接的上下文,否则如果外部超链接消失,未来的访问者可能对答案不感兴趣。
0赞 Sandra Rossi 9/15/2023 #2

我知道我跑题了,但是尽管您想要一个编程解决方案“而不是在SAP GUI的可访问性和脚本设置中禁用”,但可能很多人会来回答您的问题,以手动禁用此设置。

在这里:

  1. SAP 登录板 > 菜单选项

    SAP GUI Options menu

  2. 选项 > 辅助功能 & 脚本 > 脚本 > 启用脚本 > 在脚本附加到 SAP GUI 时通知

    SAP GUI Options Accessibility Scripting Notify when a script attaches to SAP GUI

评论

1赞 Storax 9/17/2023
stackoverflow.com/a/53769018/6600940
0赞 Sandra Rossi 9/17/2023
@storax你最好在你提到的另一个问题中发布一个答案,并附上你的答案链接(其问题与这个问题略有不同,即关于另一个通知选项,但你的答案解决了这两个问题)。
0赞 Sandra Rossi 9/17/2023
@storax当然,我会投票支持它;-)
0赞 Storax 9/17/2023
@Sandra罗西我相信我对前一个问题的回答应该为原始发帖人提供足够的信息,以便有效地适应他们的具体问题。但是,如果他们更喜欢使用按钮单击方法,则需要使用 API 调用和类似方法,在我看来,这在这种特定情况下可能会相当麻烦。
1赞 Storax 9/20/2023
当然!OP 似乎对修改注册表设置感到满意。这已经在另一篇文章中讨论和解释过,我什至在你链接到的帖子的接受答案中提到了这一点。所以,对我来说很好。让我们希望 OP 理解代码的内容。因为,我猜,他们甚至不会撤消设置。