SAP脚本在PC之间记录不同

时间:2018-04-15 22:13:55

标签: excel-vba sap vba excel

上周我问了一个关于在其他人的PC上包含SAP脚本运行宏的问题。我已经获得了一些更新的信息,我相信这些信息会从根本上改变这个问题,所以我将重新发布。

我制作了一个宏系列,其中一个从系统中提取SAP数据并将其导入Excel。虽然它在我的计算机上运行顺畅,但是当它在任何其他人的PC上使用时,它开始变得干扰。起初我认为这可能是服务器之间的问题,但在试验时我发现了以下内容。

我在三台独立的计算机和3个独立的SAP登录中记录了这个特定部分。这件作品只是选择一个特定的字段以输入特定的数字。

1。)我的电脑

session.findById("wnd[0]").maximize
session.findById("wnd[0]/usr/ctxtRIWO00-QMNUM").Text = Cells(i + 2, 5)
session.findById("wnd[0]/usr/ctxtRIWO00-QMNUM").caretPosition = 9
session.findById("wnd[0]/tbar[1]/btn[25]").press

2。)同事1

session.findById("wnd[0]").maximize
session.findById("wnd[0]/usr/ctxt").Text = Cells(i + 2, 5)
session.findById("wnd[0]/usr/ctxt").caretPosition = 9
session.findById("wnd[0]").sendVKey 0

3。)同事2

session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[1]/btn[7]").press
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell/shellcont[1]/shell[1]").selectItem "          2","C          6"
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell/shellcont[1]/shell[1]").ensureVisibleHorizontalItem "          2","C          6"

现在您可以看到,前两个代码相似,但略有不同。除了记录它们之外,这些代码都不会在任何其他计算机上运行。

最后一个代码非常不同,但在每台计算机上都是普遍运行的。我们不确定为什么会这样,但我需要相同的功能才能为我的公司创建可共享的宏。

以前有人见过这个问题吗?有谁知道为什么这些代码可能会如此不同?也许隐藏的环境?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

根据我最近的个人经验,这是由于贵公司对SAP的实施/维护不佳所致。假设您初次采用SAP时一切正常,这可能是由于非通用更新所致。就我而言,菜单之间的情况略有不同。一个窗口可能会在一台计算机上自动关闭,但不会在另一台计算机上自动关闭(使用“出现错误”的解决方法,但这不是必需的)。我将只使用底层脚本技术,将前两个脚本归因于尚未更新的SAP配置。您的SAP开发/维护团队应该能够为您提供准确的答案,但是如果他们像我们一样友好/知识丰富:“祝您好运”