Запуск сценария SAP из макроса Excel - сохранение PDF из VF03 - PullRequest
0 голосов
/ 24 марта 2019

Привет, Я собираю макрос для автоматизации загрузки PDF-счета из SAP. Я понял это в основном, но я всегда застреваю на WScript - объект требует ошибки. Кто-нибудь может мне помочь? Вот код:

Private Sub CommandButton2_Click()


If Not IsObject(SAPguiAPP) Then


   Set SAPguiAuto = GetObject("SAPGUI")


   Set SAPguiAPP = SAPguiAuto.GetScriptingEngine


End If


If Not IsObject(Connection) Then


   Set Connection = SAPguiAPP.Children(0)


End If


If Not IsObject(SAP_Session) Then


   Set SAP_Session = Connection.Children(0)


End If


If IsObject(WScript) Then


   WScript.ConnectObject SAP_Session, "on"


   WScript.ConnectObject SAPguiAPP, "on"


End If


Set xclapp = GetObject(, "Excel.Application")


    Set xclwbk = xclapp.Workbooks.Open("C:\Users\PS1043272\Desktop\CNPDF.xlsm")


    Set xclsht = xclwbk.Sheets("Sheet1")


For i = 2 To xclapp.ActiveCell.SpecialCells(11).Row


        INVCN = xclsht.Cells(2, 1).Value


SAP_Session.FindById("wnd[0]").maximize


SAP_Session.FindById("wnd[0]/tbar[0]/okcd").Text = "/nvf03"


SAP_Session.FindById("wnd[0]").sendVKey 0


SAP_Session.FindById("wnd[0]/usr/ctxtVBRK-VBELN").Text = INVCN


SAP_Session.FindById("wnd[0]/mbar/menu[0]/menu[11]").Select


SAP_Session.FindById("wnd[1]").sendVKey 37


Set WshShell = CreateObject("WScript.Shell")


WshShell.AppActivate "Print Preview"


SAP_Session.FindById("wnd[0]/tbar[0]/okcd").Text = "pdf!"


SAP_Session.FindById("wnd[0]").sendVKey 0


WScript.Sleep 500


SAP_Session.FindById("wnd[1]/usr/cntlHTML/shellcont/shell").SetFocus


WScript.Sleep 250


WshShell.SendKeys "^+s"

WScript.Sleep 750

WshShell.SendKeys "%n"


WshShell.SendKeys "C:\Users\PS1043272\Desktop\" & CStr(INVCN) & "teste.pdf"


WshShell.SendKeys "%s"


WScript.Sleep 500


Next


End Sub
​

Я всегда застреваю на первом WScript.Sleep. кто-нибудь знает почему? когда я запускаю макрос, он говорит: «Ошибка времени выполнения 424: Требуется объект», а когда я запускаю скрипт в SAP, я получаю сообщение об ошибке «Требуется объект: WScript -»

Спасибо

...