ABAP 生成word文档

1.创建模板

通过开发工具->空间->格式文本为word添加变量

选中要设为变量的文本,点击格式文本,然后在属性页签设置变量名

模板使用示例参考ZABAPDOCX包下的模板

2. 代码生成

参考ZABAPDOCX包下示例程序,可直接执行下载word文档

如果需要做格式转换,建议借助OLE或者其它工具进行格式转换

如下示例为OLE方式转换为PDF文件

复制代码
DATA: lv_wordapp  TYPE ole2_object,

      lv_worddoc  TYPE ole2_object,

      lv_wordadoc TYPE ole2_object,

      lv_wordcont TYPE c LENGTH 8,

      lv_path     TYPE string VALUE 'C:\Users\X\Desktop\DOXC.docx',

      lv_path1    TYPE string VALUE 'C:\Users\X\Desktop\DOXC.pdf'.



CREATE OBJECT lv_wordapp 'WORD.APPLICATION'.

PERFORM errorhandler.

SET PROPERTY OF lv_wordapp 'Visible' = 0.

CALL METHOD OF lv_wordapp 'Documents' = lv_worddoc.

PERFORM errorhandler.

CALL METHOD OF lv_worddoc 'Open'

  EXPORTING

    #1 = lv_path.

PERFORM errorhandler.

CALL METHOD OF lv_wordapp 'ActiveDocument' = lv_wordadoc.

PERFORM errorhandler.

CALL METHOD OF lv_wordadoc 'Content' = lv_wordcont.

PERFORM errorhandler.

CALL METHOD OF lv_wordadoc 'SaveAs'

  EXPORTING

    #1 = lv_path1

    #2 = 17.

PERFORM errorhandler.

CALL METHOD OF lv_wordapp 'Quit'.

FREE OBJECT lv_wordapp .

 

FORM errorhandler.

  IF sy-subrc <> 0.

    WRITE: / 'OLE- Error:', sy-subrc.

    CALL METHOD OF lv_wordapp 'Quit'.

    FREE OBJECT lv_wordapp.

    STOP.

  ENDIF.

ENDFORM.
3. 适用场景

需要下载word文档以供打印签字或者查看

简单文件的输出,对于下载后不需要数据处理的文件来说,更优于excel文件的生成

附ZABAPDOCX包地址:

GGitHub - AntonSikidin/zcl_docx: Best way to create Microsoft Word docx from abap

相关推荐
課代表11 小时前
Office 中 VBE 的共同特点与区别
word·excel·vba·office·vbe
qq_29494019101 天前
WORD个人简历单页326款模版分享下载
word·个人简历·doc模版
JOYUAGV1 天前
Word压缩解决方案
python·word
开开心心就好1 天前
Word图片格式调整与转换工具
java·javascript·spring·eclipse·pdf·word·excel
wqqqianqian2 天前
国产linux系统(银河麒麟,统信uos)使用 PageOffice自定义Word模版中的数据区域
linux·word·自定义·pageoffice·数据区域
CodeCraft Studio3 天前
国产化Word处理控件Spire.Doc教程:通过C# 删除 Word 文档中的超链接
开发语言·c#·word
小小Ruby4 天前
利用vba替换word中多个表格,相邻单元格的文字
word
T0uken4 天前
【前端】:单 HTML 去除 Word 批注
前端·html·word
诸葛大钢铁5 天前
WORD压缩两个免费方法
word
KingCruel5 天前
NPOI 操作 Word 文档
word