通过EXCEL VBA 连接SAP系统后,导出打开的电子表格文件另存(不是系统自带的导出EXCEL表)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过EXCEL VBA 连接SAP系统后,导出打开的电子表格文件另存(不是系统自带的导出EXCEL表)相关的知识,希望对你有一定的参考价值。
正确的路径是清单--输出--电子表格,然后继续展现的电子表格中,然后另存,请教大侠,该如何编写,我属于菜鸟级的,只能通过本地文件导出(数据多时会错行),后附程序代码,请赐教!
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "/Nksb1"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtKSTGR").Text = cbzx(i)
session.findById("wnd[0]/usr/ctxtKOAGR").Text = "f00"
session.findById("wnd[0]/usr/ctxtR_BUDAT-LOW").Text = gzqs
session.findById("wnd[0]/usr/ctxtR_BUDAT-HIGH").Text = gzjs
session.findById("wnd[0]/usr/ctxtP_DISVAR").Text = "/ZCL"
session.findById("wnd[0]/usr/ctxtP_DISVAR").SetFocus
session.findById("wnd[0]/usr/ctxtP_DISVAR").caretPosition = 2
session.findById("wnd[0]/usr/btnBUT1").press
session.findById("wnd[1]/usr/txtKAEP_SETT-MAXSEL").Text = "5000000"
session.findById("wnd[1]/usr/txtKAEP_SETT-MAXSEL").caretPosition = 6
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/mbar/menu[0]/menu[3]/menu[2]").Select
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").Select
session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").SetFocus
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = cbzx(i) & ".xls" '文件名称
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9
session.findById("wnd[1]/tbar[0]/btn[0]").press
在线等待中...
那确实是无法操控的,因为超过sap录制的范围了,sap只录制sap里面的操作。如果要操作接下来导出的excel文件,很简单,因为导入文件的路径和地址都是已知的,直接在vba中 Set ak = Workbooks.Open(wb, UpdateLinks:=0)打开这个导出的excel不就行了。 参考技术A 去年10月的时候,我做了一个不断向SAP输入条件,然后把结果导出excel文件的程序,用VBA结合C++写的。导出文件的时候,这些都不是SAP能控制的(由于我的程序需要上百次导出excel文件,所以必须自动化),需要调用Windows API才可以实现自动化,这一部分我就是用C++来进行操作的。如果有需要的话,可以借你参考一下。 参考技术B 你的问题搞定了吗
sap软件报表打开空白
如果SAP软件报表打开空白,可能是由于SAP软件的安装与配置不正确造成的,您可以尝试重新安装和配置SAP软件,确保正确的安装配置后再尝试打开报表。 参考技术A sap软件报表打开空白答:关掉EXCEL,SAP这个输出界面 再单独去打开EXCEL, 选项--信任中心--信任中心设置--宏设置--信任对VBA工程对象模型的访问 设置 参考技术B 先关掉EXCEL,SAP这个输出界面
再单独去打开EXCEL, 选项--信任中心--信任中心设置--宏设置--信任对VBA工程对象模型的访问。
以上是关于通过EXCEL VBA 连接SAP系统后,导出打开的电子表格文件另存(不是系统自带的导出EXCEL表)的主要内容,如果未能解决你的问题,请参考以下文章