点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨!
我是在SAP上创建脚本的新手。 我一直试图在vba Excel中记录脚本,但是在Excel不能打开SAP系统(P08 One SAP)的行中,我不断收到错误424"需要对象"
有人可以帮我吗?
这是我到目前为止拥有的脚本:
Sub aa()
Dim A作为字符串
Dim D作为日期
Dim B作为字符串
Dim Y作为日期
Application.DisplayAlerts = False
Shell" C:\ Program Files(x86)\ SAP \ FrontEnd \ SapGui \ saplogon.exe",vbNormalFocus
设置WSHShell = CreateObject(" WScript.Shell")
直到WSHShell.AppActivate(" SAP Logon")
Application.Wait + TimeValue(" 0:00:01")
Loop
如果不是IsObject(SAPguiApp),则
设置SapGuiAuto = GetObject(" SAPGUI")
设置SapGuiAuto = SapGuiAuto.GetScriptingEngine
如果结束
在这里我收到错误424:
如果不是IsObject(Connection),则
设置连接= SAPguiApp.OpenConnection(" P08 One SAP",True)
如果结束
如果不是IsObject(Session),则
设置会话= Connection.Children(0)
如果结束
如果IsObject(WScript)则
WScript.ConnectObject会话,"在"上
WScript.ConnectObject SAPguiApp,"在"上
如果结束
错误恢复下一个
如果Session.findById(" wnd [1]")。Text ="多次登录的许可信息",则
Session.findById(" wnd [1]/usr/radMULTI_LOGON_OPT2" ).Select
Session.findById(" wnd [1]/usr/radMULTI_LOGON_OPT2")。SetFocus
Session.findById(" wnd [1]")。sendVKey 0
如果结束
Session.findById(" wnd [0]")。maximize
Session.findById(" wnd [0]/tbar [0]/okcd")。Text ="/img/nlt22"
Session.findById (" wnd [0]")。sendVKey 0
Session.findById(" wnd [0]/usr/radT3_QUITA")。选择
Session.findById(" wnd [0]/usr/chkT3_SEVON")。 已选择= True
Session.findById(" wnd [0]/usr/ctxtT3_LGNUM")。Text =" mx1"
Session.findById(" wnd [0]/usr/ctxtT3_LGTYP-LOW")。Text = " 001"
Session.findById(" wnd [0]/usr/ctxtBDATU-LOW")。SetFocus
Session.findById(" wnd [0]/usr/ctxtBDATU-LOW")。caretPosition = 0 < br> Session.findById(" wnd [0]")。sendVKey 4
Y = Now()-1
D = Now()
A = Year(Y)&Format(Month(Y)," 00")&Format(Day(Y)," 00" )
B =年(D)和格式(月(D)," 00")和格式(天(D)," 00")
Session.findById(" wnd [1]/usr/cntlCONTAINER/shellcont/shell")。Text = A
Session.findById(" wnd [1]/usr/cntlCONTAINER/shellcont/shell")。selectionInterval =" A,A"
Session.findById(" wnd [0]/usr/ctxtBDATU-HIGH")。SetFocus
Session.findById(" wnd [0]")。sendVKey 4
Session.findById(" wnd [1]/usr/cntlCONTAINER/shellcont/shell")。Text = B
Session.findById(" wnd [0]/usr/ctxtLISTV")。Text ="/img/AUXIA"
Session.findById(" wnd [0]/usr/ctxtLISTV")。SetFocus
Session.findById(" wnd [0]/usr/ctxtLISTV")。caretPosition = 6
Session.findById(" wnd [0]")。sendVKey 8
Session.findById(" wnd [0]/usr/lbl [23,5]")。SetFocus
Session.findById(" wnd [0]/usr/lbl [23,5]")。caretPosition = 0
Session.findById(" wnd [0]/mbar/menu [0]/menu [1]/menu [1]")。Select
Session.findById (" wnd [1]/usr/ctxtDY_PATH")。Text =" G:\ Common \ DPP \ @Site Logistics \ Almacen \ MACRO VENTANILLA \" < br> Session.findById(" wnd [1]/usr/ctxtDY_FILENAME")。Text ="封闭的TOs.XLSX"
Session.findById(" wnd [1]/usr/ctxtDY_FILENAME")。caretPosition = 15
Session.findById(" wnd [1]/tbar [0]/btn [11]")。press
Session.findById(" wnd [0]/tbar [0]/btn [15]")。press
Session.findById(" wnd [0]/tbar [0]/btn [15]")。按
结束子
您好 Audrey Nunez
不确定,但是 SAPguiApp 是什么? 还应该是 SapGuiAuto 吗?
亲切问候,此部分的问题也与此相同:
Mateusz
感谢您访问SAP社区以获取问题的答案。 由于您是第一次在这里提出问题,因此建议您熟悉 https ://community.sap.com/resources/questions-and-answers (如果您还没有的话),因为它提供了准备问题的技巧,这些问题引起了我们成员的反馈。 我还建议您使用"插入代码"按钮插入代码(如果单击"编辑",您将看到它是工具菜单中的最后一个按钮)。
如果您愿意,可以先选择"操作",然后再"编辑"来修改您的问题(尽管一旦有人回答了您的问题,您将失去编辑问题的能力-但是,如果发生这种情况,您可以在" 评论)。 最后,如果您希望与读者建立联系,请考虑在个人资料中添加图片。 操作方法如下: https://www.youtube.com/watch?v = F5JdUbyjfMA&list = PLpQebylHrdh5s3gwy-h6RtymfDpoz3vDS 。 通过使用您的照片来个性化您的个人资料,可以鼓励读者做出回应。
亲切的问候,
-Jerry
您首先使用" SapGuiAuto",然后使用" SapGuiApp"。
此外,在excel VBA中,请尝试避免应用程序已采用的变量名。
例如:使用SAP_App和SAP_Con代替"应用程序"和"连接"
请使用CODE按钮设置代码格式,以便以更加用户友好的格式显示(彩色 )。
请仔细阅读两次代码,看看错误有多明显...
一周热门 更多>