【发布时间】:2018-05-02 19:22:47
【问题描述】:
我正在尝试自动化 SAP 中的流程。
我记录了一系列程序并将代码粘贴在宏表中。我使用以下命令让 Excel 读取 VBA 代码:
Dim SapGuiAuto As Object
Dim Application As Object
Dim Connection As Object
Dim Session As Object
Set SapGuiAuto = GetObject("SAPGUI")
Set Application = SapGuiAuto.GetScriptingEngine
Set Connection = Application.Children(0)
Set Session = Connection.Children(0)
对于其中一个部分,SAP 需要花费几分钟时间进行大量计算,在计算过程中,Excel 会生成以下消息:
我必须单击“确定”才能继续,然后它会不停地弹出,我必须这样做 10-15 次,这消除了自动化点。
在没有宏的情况下执行此操作时,SAP 不会给我任何错误。
我尝试用
关闭它Application.DisplayAlerts = False
我搜索了网络和网站,但几乎没有任何有用的信息可能是因为我的问题太具体了。
一些附加信息:
1. 我的笔记本电脑下班了,未经许可我无法安装任何其他软件或更新。
2. 我尝试检查 DDE 的 Excel 选项,但是当我尝试运行脚本时它只会给我一个错误。
我的 Excel 版本是 2013。
如何实现我能想到的三个解决方案之一:
1. 禁用 OLE 的弹出窗口
2.让它每次出现时自动点击确定
3.让Excel冻结并等待SAP做它的事情? (不知道这是否有意义。)尝试使用Application.Wait,但没有成功
【问题讨论】:
-
我认为您必须向我们提供您在 SAP 中做什么的信息。您显示的代码部分没问题。我没有看到任何问题。
-
嗨,我的代码没有问题,我在其他事务和操作中使用了类似的代码,效果很好。问题出在 SAP 或 Excel 上,因为 SAP 完成操作所需的时间太长,并且 Exce 给出了我截屏的错误。那么我怎样才能让 Excel 不等待 OLE...
-
那么也许this 有帮助
-
谢谢斯托拉克斯!