Как запретить SAP открывать экспортированные файлы после завершения кода? - PullRequest
0 голосов
/ 16 мая 2019

Код открывает транзакцию и сохраняет файл с данными из SAP.Проблема в том, что когда код выполняется, экспортированный файл начинает открываться сам.

Sub MRN()   
Dim SapGuiAuto
Dim SetApp
Dim Connection
Dim Session

   'connecting to SAP

Set SapGuiAuto = GetObject("SAPGUI")
Set SetApp = SapGuiAuto.GetScriptingEngine
Set Connection = SetApp.Children(0)
Set Session = Connection.Children(0)

Plant = "Ru64"
My_Path = "N:\OF\Order Handling\reserve\"

' entering data to the transaction

Session.FindById("wnd[0]").Maximize
Session.FindById("wnd[0]/tbar[0]/okcd").Text = "/nzcor_mrn1"
Session.FindById("wnd[0]").SendVKey 0
Session.FindById("wnd[0]/usr/ctxtP_BUKRS").Text = Plant
Session.FindById("wnd[0]/usr/ctxtP_STDAT").Text = "30.04.2019"
Session.FindById("wnd[0]/usr/txt%_S_WERKS_%_APP_%-TEXT").SetFocus
Session.FindById("wnd[0]/usr/txt%_S_WERKS_%_APP_%-TEXT").CaretPosition = 5
Session.FindById("wnd[0]/usr/btn%P123019_1000").Press
    Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BMATP").Selected = False
    Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BBPRH").Selected = True
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BVMMP").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BVJMP").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BSTPS").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BVMSP").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BVJSP").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BVERP").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BVMVP").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BVJVP").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BBPRS").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BBPS1").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BVJBS").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BBPH1").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE-BVJBH").Selected = False
Session.FindById("wnd[1]/usr/radSNIWE-BREPV").SetFocus
Session.FindById("wnd[1]/usr/radSNIWE-BREPV").Select
Session.FindById("wnd[1]/usr/radSNIWE-BNIWE").SetFocus
Session.FindById("wnd[1]/usr/radSNIWE-BNIWE").Select
Session.FindById("wnd[1]/tbar[0]/btn[0]").Press
Session.FindById("wnd[0]/usr/radP_VBROG").Select
Session.FindById("wnd[0]/usr/chkP_UPDAT").SetFocus
Session.FindById("wnd[0]/usr/chkP_UPDAT").Selected = True
Session.FindById("wnd[0]/usr/btn%P176039_1000").Press
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE-UBPRS").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE-UBPS1").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE-UVJBS").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE-UBPRH").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE-UBPH1").Selected = True
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE-UVJBH").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE-CHDOC").Selected = False
Session.FindById("wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE-CHDOC").SetFocus
Session.FindById("wnd[1]/tbar[0]/btn[0]").Press
Session.FindById("wnd[0]/usr/ctxtP_VARI").SetFocus
Session.FindById("wnd[0]/usr/ctxtP_VARI").CaretPosition = 0
Session.FindById("wnd[0]").SendVKey 2
Session.FindById("wnd[0]").SendVKey 4
Session.FindById("wnd[1]/usr/lbl[1,14]").SetFocus
Session.FindById("wnd[1]/usr/lbl[1,14]").CaretPosition = 6
Session.FindById("wnd[1]").SendVKey 2
Session.FindById("wnd[0]/usr/ctxtP_VARI").Text = "/DETAIL_RU"
Session.FindById("wnd[0]/tbar[1]/btn[8]").Press





'Saving the file
Session.FindById("wnd[0]/tbar[1]/btn[43]").Press
Session.FindById("wnd[1]/usr/ctxtDY_FILENAME").Text = Plant & ".XLSX"
Session.FindById("wnd[1]/usr/ctxtDY_PATH").Text = My_Path

Session.FindById("wnd[1]/usr/ctxtDY_PATH").CaretPosition = 0
Session.FindById("wnd[1]").SendVKey 4
Session.FindById("wnd[2]/usr/ctxtDY_PATH").SetFocus
Session.FindById("wnd[2]/usr/ctxtDY_PATH").CaretPosition = 0
Session.FindById("wnd[2]").SendVKey 4
Session.FindById("wnd[3]/usr/ctxtDY_PATH").SetFocus
Session.FindById("wnd[3]/usr/ctxtDY_PATH").CaretPosition = 0
Session.FindById("wnd[3]/tbar[0]/btn[0]").Press
Session.FindById("wnd[2]/tbar[0]/btn[11]").Press
Session.FindById("wnd[1]/tbar[0]/btn[0]").Press




If InStr(1, Session.FindById("wnd[0]/sbar").Text, "exist", 1) <> 0 Then

Application.SendKeys ("^s")
Application.SendKeys ("^s")
Application.SendKeys ("^s")
Application.SendKeys ("^s")
End If

End Sub

1) Я пытался закрыть файл экспорта с помощью кода.И в тот момент, когда код запускается, он показывает, что этот файл закрыт.Но он открывается снова, когда код заканчивается.

2) Я также удалил файл экспорта, но затем появляется сообщение, что файл не найден.Очевидно, что SAP запускает все, что было импортировано после выполнения кода.

Приведенный выше код является небольшой частью всей программы.В итоге у меня появляется куча таких файлов.

Как заблокировать эту неприятную функцию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...