2016-11-09 99 views
0

也許有SAP GUI和VBScripts經驗的人可以幫助我。SAP GUI不運行VBScript腳本

我試圖在SAP GUI

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 

我不斷收到 錯誤運行下面的VBScript:服務器引發異常。 代碼:80010105

此錯誤是在這一行:session.findById( 「WND [0]」)最大化

服務器可以阻止我的腳本?

在SAP GUI配置中啓用了SAPGUI腳本,但是當我嘗試記錄一個時,它不記錄並且窗口中的符號始終表示該腳本正在運行但沒有任何反應,並且不記錄任何內容.vbs文件。 當我嘗試在GUI中運行我的腳本時,會發生同樣的情況,它將保持運行狀態,但沒有任何反應。

非常感謝。

+0

的可能的複製[HRESULT:0x80010105(RPC \ _E \ _SERVERFAULT)問題](http://stackoverflow.com/questions/973206/hresult-0x80010105-rpc-e-serverfault - 問題) – Lankymart

+0

我怎麼知道是什麼導致這個錯誤? – user3452550

+0

也許這將有助於 - [錯誤0x80010105(RPC_E_SERVERFAULT)使用SAP Scripting API](https://archive.sap.com/discussions/thread/3824444) – Lankymart

回答

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.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