使用EXCEL打开SAP

2020-08-17 15:32发布

         点击此处--->   EasySAP.com群内免费提供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 findById(" wnd [0]/usr/ctxtBDATU-HIGH")。caretPosition = 0
Session.findById(" wnd [0]")。sendVKey 4
Session.findById(" wnd [1]/usr/cntlCONTAINER/shellcont/shell")。Text = B 。 findById(" wnd [1]/usr/cntlCONTAINER/shellcont/shell")。selectionInterval =" B,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]")。按

结束子

         点击此处--->   EasySAP.com群内免费提供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 findById(" wnd [0]/usr/ctxtBDATU-HIGH")。caretPosition = 0
Session.findById(" wnd [0]")。sendVKey 4
Session.findById(" wnd [1]/usr/cntlCONTAINER/shellcont/shell")。Text = B 。 findById(" wnd [1]/usr/cntlCONTAINER/shellcont/shell")。selectionInterval =" B,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]")。按

结束子

付费偷看设置
发送
5条回答
Haoba3210
1楼-- · 2020-08-17 15:59

您好 Audrey Nunez

不确定,但是 SAPguiApp 是什么? 还应该是 SapGuiAuto 吗?
此部分的问题也与此相同:

如果不是IsObject(SAPguiApp),那么
   设置SapGuiAuto = GetObject(" SAPGUI")
   设置SapGuiAuto = SapGuiAuto.GetScriptingEngine
 结束
亲切问候,
Mateusz
jovirus
2楼-- · 2020-08-17 16:10

感谢您访问SAP社区以获取问题的答案。 由于您是第一次在这里提出问题,因此建议您熟悉 https ://community.sap.com/resources/questions-and-answers (如果您还没有的话),因为它提供了准备问题的技巧,这些问题引起了我们成员的反馈。 我还建议您使用"插入代码"按钮插入代码(如果单击"编辑",您将看到它是工具菜单中的最后一个按钮)。

如果您愿意,可以先选择"操作",然后再"编辑"来修改您的问题(尽管一旦有人回答了您的问题,您将失去编辑问题的能力-但是,如果发生这种情况,您可以在" 评论)。 最后,如果您希望与读者建立联系,请考虑在个人资料中添加图片。 操作方法如下: https://www.youtube.com/watch?v = F5JdUbyjfMA&list = PLpQebylHrdh5s3gwy-h6RtymfDpoz3vDS 。 通过使用您的照片来个性化您的个人资料,可以鼓励读者做出回应。

亲切的问候,

-Jerry

Aaron 3364
3楼-- · 2020-08-17 16:09

您首先使用" SapGuiAuto",然后使用" SapGuiApp"。

此外,在excel VBA中,请尝试避免应用程序已采用的变量名。

例如:使用SAP_App和SAP_Con代替"应用程序"和"连接"

callcenter油条
4楼-- · 2020-08-17 16:19

请使用CODE按钮设置代码格式,以便以更加用户友好的格式显示(彩色 )。

软件心理学工程师
5楼-- · 2020-08-17 16:13

请仔细阅读两次代码,看看错误有多明显...

一周热门 更多>