点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我有以下情况:我需要从SAP 750导出VF02的发票,但是我不能这样做。 我写了下面的代码,这很简单,但是根本行不通。 VBA不会提供任何错误并完成任务,但是这里没有输出。 应该打开"保存"对话框的行没有任何作用:
公共子ExportInvoices() 'ByVal vStrPathSAP作为字符串 Dim CC,BillingDoc作为字符串 Dim vcounter As Integer '设置条件以开始循环,直到活动单元变为空白 ThisWorkbook.Activate Sheets(" Sheet1")。Select 范围(" A1")。选择 当ActiveCell.Value <>""时执行 '建立活动行 范围(" A1")。选择 vcounter = ActiveCell.Row 设置xclapp = GetObject(," Excel.Application") 设置xclwbk = xclapp.ThisWorkbook 设置xclsht = xclwbk.Sheets(" Sheet1") BillingDoc = xclsht.Cells(vcounter,9).Value CC = xclsht.Cells(vcounter,2).Value 昏暗的应用程序,连接,会话作为对象 设置SapGuiAuto = GetObject(" SAPGUI") 设置应用程序= SapGuiAuto.GetScriptingEngine 设置连接= App.Children(0) 设置会话= Connection.Children(0) session.findById(" wnd [0]")。maximize session.findById(" wnd [0]/tbar [0]/okcd")。Text ="/img/nVF02" session.findById(" wnd [0]")。sendVKey 0 session.findById(" wnd [0]/usr/ctxtVBRK-VBELN")。Text = BillingDoc session.findById(" wnd [0]/usr/ctxtRV60S-BUKRS")。Text = CC session.findById(" wnd [0]/usr/ctxtRV60S-BUKRS")。SetFocus session.findById(" wnd [0]/usr/ctxtRV60S-BUKRS")。caretPosition = 4 session.findById(" wnd [0]/mbar/menu [0]/menu [11]")。选择 session.findById(" wnd [1]/tbar [0]/btn [37]")。按 --- >>>从这里什么都没发生 设置WshShell = CreateObject(" WScript.Shell") WshShell.AppActivate"打印预览,文档1 of 1" '根据控件的ID将焦点设置到Acrobat控件 session.findById(" wnd [0]/usr/cntlHTML_IFBA_PREVIEW/shellcont/shell")。SetFocus WshShell.SendKeys" ^ + s"'打开保存对话框 WshShell.SendKeys"%n"'激活文件名字段 WshShell.SendKeys" \\正在调查的发票\"&Excel.Cells(vcounter," B")&" \"&Excel.Cells(vcounter," I")&" .pdf"'路径和文件名 WshShell.SendKeys"%s"'保存文件 '转到下一行 ActiveCell.Offset(1,0)。激活 vcounter = ActiveCell.Row 循环 结束子
我有相同的解决方案。 您这样做了吗?
请查看以下链接,尤其是Michal Udvardy的文章:
https://answers.sap.com/questions/461898/hello-i-am-new-to-scripting-specially-to-copy-sap.html
一周热门 更多>