使用ABAP代码将Excel转换为PDF

2020-08-24 11:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)朋友您好,我有一个简单的Exce...

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

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


朋友您好,我有一个简单的Excel文件,我想使用ABAP代码将其转换为PDF。 从DOC文件到PDF的转换是通过下面的代码完成的,但是当您尝试将Excel集成到此代码中时不会发生。 请帮帮我!!

*************************************************** ****************************************

数据:lv_wordapp类型ole2_object,
lv_worddoc类型ole2_object,
lv_wordadoc类型ole2_object,
lv_wordcont类型c长度8。
创建对象lv_wordapp'WORD.APPLICATION'。
set属性 lv_wordapp'可见'=0。lv_wordapp'文档'的调用方法= lv_worddoc。lv_worddoc'Open'的调用方法
exporting
#1 ='D:\ ITSM \ huseyins.docx' 。
lv_wordapp'ActiveDocument'的调用方法= lv_wordadoc。
lv_wordadoc'Content'的调用方法= lv_wordcont。 exporting
#1 ='D:\ ITSM \ huseyins.pdf '
#2 =17。"另存为lv_wordapp'Quit'的PDF文件
调用方法。
免费对象lv_wordapp。

*************************************************** ****************************************

3条回答
葫芦娃快救爷爷
2020-08-24 12:05 .采纳回答

这将起作用。 路径区分大小写:

 
* ------------------------------------------- --------------------------- * *使用Excel将电子表格转换为pdf * ------------------------------------------------- --------------------- * 报告y_excel_ole_pdf。 程序加载。 *允许对工作站上启用COM的程序进行OLE调用(例如Excel) 包括ole2incl。 * OLE对象的句柄 数据:oexcel TYPE ole2_object," Excel对象 owbs TYPE ole2_object,"工作簿的集合 owb TYPE ole2_object。 "工作簿 *&------------------------------------------------ --------------------- * *&表格ErrorHandler *&------------------------------------------------ --------------------- * *如果SAP返回任何错误,则输出OLE错误 * ------------------------------------------------- --------------------- * FORM错误处理程序。 如果sy-subrc <> 0。 写:/'OLE自动化错误:'(010),sy-subrc。 oexcel'Quit'的呼叫方法。 免费对象oexcel。 停。 万一。 ENDFORM。 "错误处理程序 参数:p_source TYPE字符串小写。 参数:p_dest TYPE字符串小写。 选择开始。 *启动Excel的新副本 创建对象oexcel'EXCEL.APPLICATION'。 执行错误处理程序。 "设置oExcel = CreateObject() *现在(更快)隐藏Excel窗口 将oexcel的"设置属性"设置为"可见" = 0。 执行错误处理程序。 " oExcel.Visible = False *告诉Excel不要每次更改都更新整个工作表(更快) 设置oexcel'ScreenUpdating'的属性= 0。 执行错误处理程序。 " oExcel.ScreenUpdating = False *获取工作簿列表,最初是空的 oexcel的调用方法"工作簿" = owbs。 执行错误处理程序。 "设置oWBs = oExcel.Workbooks *打开Excel文件,返回工作簿 owbs的呼叫方法'Open'" = owb 导出#1 = p_source。 执行错误处理程序。 " oWBs.Open P_Source owbs的呼叫方法'Item'= owb 导出#1 = 1。 执行错误处理程序。 "设置oWB = oWBs.Item(1) *使用先前定义的用户名称将文件导出为PDF owb'ExportAsFixedFormat'的调用方法 导出#1 = 0" Type = xlTypePDF #2 = p_dest。 "文档名称 执行错误处理程序。 " oWB.ExportAsFixedFormat xlTypePDF,P_Dest *关闭Excel文件而不保存更改 owb"关闭"的呼叫方法 导出#1 =0。"保存= False 执行错误处理程序。 " oWB.Close(保存= False) *告诉Excel在每次更改时恢复更新整个工作表 设置oexcel'ScreenUpdating'的属性= 1。 执行错误处理程序。 " Application.ScreenUpdating = True *告诉Excel向用户显示工作表 设置oexcel'可见'的属性= 1。 执行错误处理程序。 " oExcel.Visible = True oexcel'Quit'的呼叫方法。 执行错误处理程序。 " oExcel。退出 *与Excel断开连接 免费对象oexcel。 PERFORM错误处理程序。

一周热门 更多>