Excel SAP GUI脚本编写错误,";集合的枚举数找不到具有指定索引的元素;

Excel SAP GUI脚本编写错误,";集合的枚举数找不到具有指定索引的元素;,excel,vba,sap,Excel,Vba,Sap,几周前,我通过SAP的内置GUI脚本功能生成了一个脚本,然后将vba放在excel文档中,并将其附加到按钮上 这在几周内工作得非常好,但现在当我按下按钮时,出现以下错误: “集合的枚举器找不到具有指定索引的en元素。”在显示Set session=Connection.Children(0) 下面是一段代码 If Not IsObject(Sap_Application) Then Set SapGuiAuto = GetObject("SAPGUI") Set Sap_Appl

几周前,我通过SAP的内置GUI脚本功能生成了一个脚本,然后将vba放在excel文档中,并将其附加到按钮上

这在几周内工作得非常好,但现在当我按下按钮时,出现以下错误:
“集合的枚举器找不到具有指定索引的en元素。”
在显示
Set session=Connection.Children(0)
下面是一段代码

If Not IsObject(Sap_Application) Then
    Set SapGuiAuto = GetObject("SAPGUI")
    Set Sap_Application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
    Set Connection = Sap_Application.Children(0)
End If
If Not IsObject(session) Then
    Set session = Connection.Children(0) 'This is the line that causes the error
End If
If IsObject(WScript) Then
    WScript.ConnectObject session, "on"
    WScript.ConnectObject Sap_Application, "on"
End If
我打开了SAP并登录,代码段中的所有代码都是由SAP gui脚本生成的

我尝试了一些我在网上看到的解决方案(比如将sap安装文件夹中的一些ocx文件添加到excel插件中),但似乎没有任何效果

我想知道这里是否有人遇到过类似的问题,是否知道如何在vba中成功打开SAP会话

根据评论编辑:

当我检查连接对象时,这就是我看到的。看起来孩子们的长度是0


我认为我安装的其他东西(甚至可能是我公司的更新脚本)破坏了安装SAP时安装的vba支持

重新安装SAP登录应用程序修复了我的问题


(如果其他人能给出更好的理由解释为什么会发生这种情况,我会接受这个答案)

我知道它很旧,但可能会帮助其他人。 我不知道为什么,突然我的脚本出现了问题。我记录了一个新的操作,以查看SAP将为这些操作编写什么(因为这部分代码是连接的标准代码)。 同样的代码,同样的问题

修复(或至少临时): 更改正在搜索的子项的编号。 以前的代码:

*Set Connection = Sap_Application.Children(0)*
新代码:

*Set Connection = Sap_Application.Children(1)*
不确定区别是什么,我知道如果您也更改此行中的数字:

*Set session = Connection.Children(0) 'This is the line that causes the error*
执行发生在第二个会话中,如果您更改了这个会话,还必须更改前一行代码


希望有帮助

遇到了同样的问题并找到了这个线程,所以我用对我有效的解决方案来恢复它:

脚本编写可能已失去动力。
sapgui/user\u scripting必须设置为true

如果无法建立连接,行
set Connection=Sap\u应用程序。子项(0)
是否会引发错误?您可以使用调试器“监视”窗口来检查所获取的对象。你应该可以点击连接。Children我已经在出错的executes行之前截取了调试器的屏幕截图,看起来Children是空的,但我不确定为什么会是空的。我是否错误地打开SAP?