Excel 如何防止SAP在代码结束时打开导出的文件?

Excel 如何防止SAP在代码结束时打开导出的文件?,excel,vba,sap-gui,Excel,Vba,Sap Gui,该代码打开事务并保存包含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)

该代码打开事务并保存包含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
Sub-MRN()
黯淡
暗集应用
暗连接
昏暗的会议
'连接到SAP
设置SapGuiAuto=GetObject(“SAPGUI”)
设置SetApp=SapGuiAuto.GetScriptingEngine
Set Connection=SetApp.Children(0)
设置会话=连接。子级(0)
Plant=“Ru64”
My_Path=“N:\OF\Order Handling\reserve”
'在事务中输入数据
Session.FindById(“wnd[0]”)。最大化
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%\u S\u WERKS\uuu%\u APP\uu%-TEXT”).SetFocus
Session.FindById(“wnd[0]/usr/txt%\u S\u WERKS\uu%\u APP\uu%%TEXT”)。CaretPosition=5
Session.FindById(“wnd[0]/usr/btn%P123019_1000”)。按
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:saplmyop:1103/chkSNIWE BMATP”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE BBPRH”)。选中=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”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE BSTPS”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE BVMSP”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:saplmyop:1103/chkSNIWE BVJSP”)。Selected=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE BVERP”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE BVMVP”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:saplmyop:1103/chkSNIWE BVJVP”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:saplmyop:1103/chkSNIWE BBPRS”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:saplmyop:1103/chkSNIWE-BBPS1”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:SAPLMYPOP:1103/chkSNIWE BVJBS”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1101/tabpPIP/ssubSUB_1109:saplmyop:1103/chkSNIWE-BBPH1”)。选中=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”)。选择
Session.FindById(“wnd[1]/usr/radSNIWE BNIWE”).SetFocus
Session.FindById(“wnd[1]/usr/radSNIWE BNIWE”)。选择
Session.FindById(“wnd[1]/tbar[0]/btn[0]”。按
Session.FindById(“wnd[0]/usr/radP_VBROG”)。选择
Session.FindById(“wnd[0]/usr/chkP_update”).SetFocus
Session.FindById(“wnd[0]/usr/chkP\u update”)。Selected=True
Session.FindById(“wnd[0]/usr/btn%P176039_1000”)。按
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:saplmyop:1303/chkSNIWE UBPRS”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE-UBPS1”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE UVJBS”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE UBPRH”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE-UBPH1”)。选中=True
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE UVJBH”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE CHDOC”)。选中=False
Session.FindById(“wnd[1]/usr/tabsTABSTRIP_1301/tabpPIP/ssubSUB_1309:SAPLMYPOP:1303/chkSNIWE CHDOC”).SetFocus
Session.FindById(“wnd[1]/tbar[0]/btn[0]”。按
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]”)
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]”。按
'保存文件
Session.FindById(“wnd[0]/tbar[1]/btn[43]”。按
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]”。按
Session.FindById(“wnd[2]/tbar[0]/btn[11]”。按
Session.FindById(“wnd[1]/tbar[0]/btn[0]”。按
如果InStr(1,Session.FindById(“wnd[0]/sbar”).Text“exist”,1)0那么
Application.SendKeys(“^s”)
Application.SendKeys(“^s”)
Application.SendKeys(“^s”)
Application.SendKeys(“^s”)
如果结束
端接头
1) 我试图用代码关闭导出文件。当代码运行时,它显示该文件已关闭。但当代码结束时,它会再次打开

2) 我还删除了导出文件,但是有一条消息说找不到该文件。 显然,SAP会在执行代码后启动导入的所有内容

上面的代码是整个程序的一小部分。所以我