从Excel宏运行SAP脚本-VF03

2020-09-10 21:05发布

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

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


嗨,

我正在建立一个宏以自动从SAP下载发票的PDF。 我已经弄清楚了,但是我总是卡在WScript上-对象必需错误。

有人可以帮助我吗?

这是代码:

私人子CommandButton2_Click()


 如果不是IsObject(SAPguiAPP)然后


    设置SAPguiAuto = GetObject(" SAPGUI")


    设置SAPguiAPP = SAPguiAuto.GetScriptingEngine


 万一


 如果不是IsObject(Connection)然后


    设置连接= SAPguiAPP.Children(0)


 万一


 如果不是IsObject(SAP_Session)然后


    设置SAP_Session = Connection.Children(0)


 万一


 如果IsObject(WScript)然后


    WScript.ConnectObject SAP_Session,"打开"


    WScript.ConnectObject SAPguiAPP,"打开"


 万一


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


     设置xclwbk = xclapp.Workbooks.Open(" C:\ Users \ PS1043272 \ Desktop \ CNPDF.xlsm")


     设置xclsht = xclwbk.Sheets(" Sheet1")


 对于i = 2到xclapp.ActiveCell.SpecialCells(11).Row


         INVCN = xclsht.Cells(2,1)。值


 SAP_Session.FindById(" wnd [0]")。maximize


 SAP_Session.FindById(" wnd [0]/tbar [0]/okcd")。Text ="/img/nvf03"


 SAP_Session.FindById(" wnd [0]")。sendVKey 0


 SAP_Session.FindById(" wnd [0]/usr/ctxtVBRK-VBELN")。Text = INVCN


 SAP_Session.FindById(" wnd [0]/mbar/menu [0]/menu [11]")。选择


 SAP_Session.FindById(" wnd [1]")。sendVKey 37


 设置WshShell = CreateObject(" WScript.Shell")


 WshShell.AppActivate"打印预览"


 SAP_Session.FindById(" wnd [0]/tbar [0]/okcd")。Text =" pdf!"


 SAP_Session.FindById(" wnd [0]")。sendVKey 0


 WScript.Sleep 500


 SAP_Session.FindById(" wnd [1]/usr/cntlHTML/shellcont/shell")。SetFocus


 WScript.Sleep 250


 WshShell.SendKeys" ^ + s"

 WScript.Sleep 750

 WshShell.SendKeys"%n"


 WshShell.SendKeys" C:\ Users \ PS1043272 \ Desktop \"&CStr(INVCN)&" teste.pdf"


 WshShell.SendKeys"%s"


 WScript.Sleep 500


 下一个


 结束子
 

我很困在第一个WScript.Sleep上。 有人知道为什么吗?

当我运行宏时,它说"运行时错误424:需要对象",而当我在SAP上运行脚本时,出现错误"对象需要:WScript-"

谢谢

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

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


嗨,

我正在建立一个宏以自动从SAP下载发票的PDF。 我已经弄清楚了,但是我总是卡在WScript上-对象必需错误。

有人可以帮助我吗?

这是代码:

私人子CommandButton2_Click()


 如果不是IsObject(SAPguiAPP)然后


    设置SAPguiAuto = GetObject(" SAPGUI")


    设置SAPguiAPP = SAPguiAuto.GetScriptingEngine


 万一


 如果不是IsObject(Connection)然后


    设置连接= SAPguiAPP.Children(0)


 万一


 如果不是IsObject(SAP_Session)然后


    设置SAP_Session = Connection.Children(0)


 万一


 如果IsObject(WScript)然后


    WScript.ConnectObject SAP_Session,"打开"


    WScript.ConnectObject SAPguiAPP,"打开"


 万一


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


     设置xclwbk = xclapp.Workbooks.Open(" C:\ Users \ PS1043272 \ Desktop \ CNPDF.xlsm")


     设置xclsht = xclwbk.Sheets(" Sheet1")


 对于i = 2到xclapp.ActiveCell.SpecialCells(11).Row


         INVCN = xclsht.Cells(2,1)。值


 SAP_Session.FindById(" wnd [0]")。maximize


 SAP_Session.FindById(" wnd [0]/tbar [0]/okcd")。Text ="/img/nvf03"


 SAP_Session.FindById(" wnd [0]")。sendVKey 0


 SAP_Session.FindById(" wnd [0]/usr/ctxtVBRK-VBELN")。Text = INVCN


 SAP_Session.FindById(" wnd [0]/mbar/menu [0]/menu [11]")。选择


 SAP_Session.FindById(" wnd [1]")。sendVKey 37


 设置WshShell = CreateObject(" WScript.Shell")


 WshShell.AppActivate"打印预览"


 SAP_Session.FindById(" wnd [0]/tbar [0]/okcd")。Text =" pdf!"


 SAP_Session.FindById(" wnd [0]")。sendVKey 0


 WScript.Sleep 500


 SAP_Session.FindById(" wnd [1]/usr/cntlHTML/shellcont/shell")。SetFocus


 WScript.Sleep 250


 WshShell.SendKeys" ^ + s"

 WScript.Sleep 750

 WshShell.SendKeys"%n"


 WshShell.SendKeys" C:\ Users \ PS1043272 \ Desktop \"&CStr(INVCN)&" teste.pdf"


 WshShell.SendKeys"%s"


 WScript.Sleep 500


 下一个


 结束子
 

我很困在第一个WScript.Sleep上。 有人知道为什么吗?

当我运行宏时,它说"运行时错误424:需要对象",而当我在SAP上运行脚本时,出现错误"对象需要:WScript-"

谢谢

付费偷看设置
发送
2条回答
大道至简
1楼-- · 2020-09-10 21:10

您应该在WScript论坛上提问...(或者最好是搜索,因为这样的问题可能已经问过很多次了...)

我是小鹏鹏啊
2楼-- · 2020-09-10 21:11

您好 佩德罗,

您设法解决问题了吗? 是否可以通过宏自动执行VF03转换? 致以诚挚的问候,

Natalia

一周热门 更多>