抄写并粘贴到EXCEL表格中的SAP状态栏消息

2020-09-02 05:35发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


向其他用户致意。

我可能是使用SAP PM模块的SAP前端用户,在这种情况下,经常需要根据提供的输入来创建SAP通知。稍后,这些通知会由两个不同的用户批准。之后,根据此通知,确定工作顺序 创建并根据这些工作订单生成工作许可证。

我想部分自动化该过程。从创建通知开始。在脚本播放期间从excel获取所需的输入,并为每个标签创建通知(由脚本从excel文件第2列获取)。 标签的标签,状态栏中会生成一条消息,其中包含通知号(已保存通知100002255102)。

然后脚本继续进行以创建新通知。

我需要有关脚本/摄像机的帮助,该脚本/摄像机可以将状态栏中生成的此消息复制/传输到excel工作表中的单元格(在列标题-通知下)。

使用脚本im可以成功地根据excel工作表中的数据创建通知,如下所示:

如果不是IsObject(application)那么

设置SapGuiAuto = GetObject(" SAPGUI")

设置应用程序= SapGuiAuto.GetScriptingEngine

如果结束

如果不是IsObject(连接),则

设置连接= application.Children(0)

如果结束

如果不是IsObject(session)那么

设置会话= connection.Children(0)

如果结束

如果IsObject(WScript)然后

WScript.ConnectObject会话,"打开"

WScript.ConnectObject应用程序,"打开"

如果结束

session.findById(" wnd [0]")。maximize

Dim objExcel

Dim objSheet,intRow,i

设置objExcel = GetObject(," Excel.Application")

设置objSheet = objExcel.ActiveWorkbook.ActiveSheet

对于i = 2的objSheet.UsedRange.Rows.Count

Col1 = Trim(CStr(objSheet.Cells(i,1).value))'column1

Col2 = Trim(CStr(objSheet.Cells(i,2).value))'column2

Col3 = Trim(CStr(objSheet.Cells(i,3).value))'column3

session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/NIW21"

session.findById(" wnd [0]")。sendVKey 0

session.findById(" wnd [0]/usr/ctxtRIWO00-QMART")。text = COL1

session.findById(" wnd [0]/usr/ctxtRIWO00-QMART")。caretPosition = 2

session.findById(" wnd [0]")。sendVKey 0

session.findById(" wnd [0]/usr/subSCREEN_1:SAPLIQS0:1050/txtVIQMEL-QMTXT")。text = COL2

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_1:SAPLIQS0:7322/subOBJEKT1-SAPLIWO1)" .text = COL3

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_1:SAPLIQS0:7322/subOBJEKT1-SAPLIWO1)" .setFocus

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_1:SAPLIQS0:7322/subOBJEKT1-SAPLIWO1)" .caretPosition = 21

session.findById(" wnd [0]")。sendVKey 0

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_2:SAPLIQS0:7715/cntlTEXTes" .shellcont/Index 0

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB02")。选择

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB02/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_1:SAPLIQS0:7330/cmbVIQMEL-PRIOK"。"

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB02/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_1:SAPLIQS0:7330/cmbVIQMEL-PRIOK"

session.findById(" wnd [0]")。sendVKey 0

session.findById(" wnd [1]/usr/btnBUTTON_2")。按

session.findById(" wnd [0]/tbar [1]/btn [13]")。按

session.findById(" wnd [0]/tbar [0]/btn [11]")。按

aux = col1&""&col2&""&col3

CreateObject(" Wscript.shell")。run(" cmd/c @echo%date%%time%"&aux&" >> C:\ SCRIPT \ PlOrCreationLog.txt")

下一个

msgbox"处理已完成"

您的帮助将不胜感激。

scren1.jpg (93.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


向其他用户致意。

我可能是使用SAP PM模块的SAP前端用户,在这种情况下,经常需要根据提供的输入来创建SAP通知。稍后,这些通知会由两个不同的用户批准。之后,根据此通知,确定工作顺序 创建并根据这些工作订单生成工作许可证。

我想部分自动化该过程。从创建通知开始。在脚本播放期间从excel获取所需的输入,并为每个标签创建通知(由脚本从excel文件第2列获取)。 标签的标签,状态栏中会生成一条消息,其中包含通知号(已保存通知100002255102)。

然后脚本继续进行以创建新通知。

我需要有关脚本/摄像机的帮助,该脚本/摄像机可以将状态栏中生成的此消息复制/传输到excel工作表中的单元格(在列标题-通知下)。

使用脚本im可以成功地根据excel工作表中的数据创建通知,如下所示:

如果不是IsObject(application)那么

设置SapGuiAuto = GetObject(" SAPGUI")

设置应用程序= SapGuiAuto.GetScriptingEngine

如果结束

如果不是IsObject(连接),则

设置连接= application.Children(0)

如果结束

如果不是IsObject(session)那么

设置会话= connection.Children(0)

如果结束

如果IsObject(WScript)然后

WScript.ConnectObject会话,"打开"

WScript.ConnectObject应用程序,"打开"

如果结束

session.findById(" wnd [0]")。maximize

Dim objExcel

Dim objSheet,intRow,i

设置objExcel = GetObject(," Excel.Application")

设置objSheet = objExcel.ActiveWorkbook.ActiveSheet

对于i = 2的objSheet.UsedRange.Rows.Count

Col1 = Trim(CStr(objSheet.Cells(i,1).value))'column1

Col2 = Trim(CStr(objSheet.Cells(i,2).value))'column2

Col3 = Trim(CStr(objSheet.Cells(i,3).value))'column3

session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/NIW21"

session.findById(" wnd [0]")。sendVKey 0

session.findById(" wnd [0]/usr/ctxtRIWO00-QMART")。text = COL1

session.findById(" wnd [0]/usr/ctxtRIWO00-QMART")。caretPosition = 2

session.findById(" wnd [0]")。sendVKey 0

session.findById(" wnd [0]/usr/subSCREEN_1:SAPLIQS0:1050/txtVIQMEL-QMTXT")。text = COL2

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_1:SAPLIQS0:7322/subOBJEKT1-SAPLIWO1)" .text = COL3

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_1:SAPLIQS0:7322/subOBJEKT1-SAPLIWO1)" .setFocus

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_1:SAPLIQS0:7322/subOBJEKT1-SAPLIWO1)" .caretPosition = 21

session.findById(" wnd [0]")。sendVKey 0

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_2:SAPLIQS0:7715/cntlTEXTes" .shellcont/Index 0

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB02")。选择

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB02/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_1:SAPLIQS0:7330/cmbVIQMEL-PRIOK"。"

session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB02/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_1:SAPLIQS0:7330/cmbVIQMEL-PRIOK"

session.findById(" wnd [0]")。sendVKey 0

session.findById(" wnd [1]/usr/btnBUTTON_2")。按

session.findById(" wnd [0]/tbar [1]/btn [13]")。按

session.findById(" wnd [0]/tbar [0]/btn [11]")。按

aux = col1&""&col2&""&col3

CreateObject(" Wscript.shell")。run(" cmd/c @echo%date%%time%"&aux&" >> C:\ SCRIPT \ PlOrCreationLog.txt")

下一个

msgbox"处理已完成"

您的帮助将不胜感激。

scren1.jpg (93.7 kB)
付费偷看设置
发送
1条回答
callcenter油条
1楼-- · 2020-09-02 05:53

ErrArea = session.FindById(" wnd [0]/sbar/")。MessageId

ErrNumber = session.FindById(" wnd [0]/sbar/")。MessageNumber

ErrType = session.FindById(" wnd [0]/sbar/")。MessageType

ErrText = session.FindById(" wnd [0]/sbar/")。text

一周热门 更多>