在我通過 Excel 連接到 SAP GUI 后,我在從 SAP GUI 獲取資料時遇到了問題,因為宏非常快,因為我做了測驗,如果它在某些時候暫停,邏輯可以正常作業,但沒有時間,它不起作用。所以我想在 SAP GUI 中運行時包括時間,但我不知道執行此操作的正確代碼。
Sub Sap()
Dim Application, SapGuiAuto, Connection, session, WScrip
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
'Login
session.findbyid("wnd[0]").maximize
session.findbyid("wnd[0]/usr/txtRSYST-BNAME").Text = "mylogin"
session.findbyid("wnd[0]/usr/pwdRSYST-BCODE").Text = "password"
session.findbyid("wnd[0]/usr/pwdRSYST-BCODE").SetFocus
session.findbyid("wnd[0]/usr/pwdRSYST-BCODE").caretPosition = 8
session.findbyid("wnd[0]").sendVKey 0
'MM02
session.findbyid("wnd[0]/tbar[0]/okcd").Text = "mm02"
session.findbyid("wnd[0]").sendVKey 0
Application.Wait Now TimeValue("00:00:03") '——->>>>> BUT NOT WORK THIS FUNCTION
'continueing…
End Sub
uj5u.com熱心網友回復:
在 VBA 中還有另一種生成等待的方法。
例如:
Sub Sap()
Dim Application, SapGuiAuto, Connection, session, WScript
set wshell = CreateObject("Wscript.Shell")
...
wshell.run "c:\tmp\sleep_3000.vbs",1,true
'continueing…
End Sub
c:\tmp 中的 sleep_3000.vbs
wscript.sleep 3000
問候, ScriptMan
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/314259.html
下一篇:行插入后清除某些列
