SAP GUI VBScript脚本未运行

时间:2016-11-09 12:43:09

标签: vbscript sap

也许具有SAP GUI和VBScripts经验的人可以帮助我。

我正在尝试在SAP GUI中运行以下VBScript

If Not IsObject(application) Then
    Set SapGuiAuto = GetObject("SAPGUI")
    Set application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
    Set connection= application.Children(0)
End If
If Not IsObject(session) Then
    Set session = connection.Children(0)
End If
If IsObject(WScript) Then
    WScript.ConnectObject session,"on"
    WScript.ConnectObject application, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text="cv04n"
session.findById("wnd[0]").sendVkey 0

我一直在接受 错误:服务器引发了异常。 代码:80010105

此错误在此行中:session.findById(“wnd [0]”)。最大化

服务器可以阻止我的脚本吗?

SAP GUI配置中启用了SAPGUI脚本,但是当我尝试记录它时,它没有记录并且窗口中的符号总是表示脚本正在运行但没有任何反应并且没有记录任何内容。 .vbs文件。 当我尝试在GUI中运行我的脚本时,同样的情况发生并且它将保持运行但没有任何反应。

非常感谢。

1 个答案:

答案 0 :(得分:0)

这:

 Set application = SapGuiAuto.GetScriptingEngine

因此,您永远无法获得SAP的脚本引擎,"应用程序"属于Excel,您无法将其设置为外部应用程序。

将其更改为:

 Set sapapplication = SapGuiAuto.GetScriptingEngine

让我举几个例子:

   Set sapguiauto = GetObject("SAPGUI")
   Set sapapplication = sapguiauto.GetScriptingEngine
   Set connection = sapapplication.Children(0)
   Set session = connection.Children(0)

现在你有了SAP Session。用它做任何事情。

喜欢:

session.findById("wnd[0]/sbar").Text
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text="cv04n"
session.findById("wnd[0]").sendVkey 0