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

相关推荐
ComPDFKit42 分钟前
PDF转Word后,每行都成一段?先分清断段、文本框和扫描页
pdf·word
thethefighter3 小时前
快速预览Word、WPS秒开,支持空格弹窗
linux·word·wps·快速预览·空格弹窗·nhdeepview
SunnyDays10115 小时前
Java 操作 Word 脚注和尾注:添加、读取与删除
java·word
SunnyDays10115 小时前
Java 为 Word 添加页码:隐藏封面页码、从指定页开始编号、奇偶页页码设置等
java·word·页码
Eiceblue5 小时前
用 Python 给 Word 文档加水印:文字、图片与批量处理
开发语言·vscode·python·word
Metaphor6921 天前
使用 Python 在 Word 文档中添加、修改和删除变量
python·word
Monte05391 天前
word 如何让mathtype公式居中,公式编号右对齐
word
2501_930707781 天前
如何使用C#代码替换 Word 文档中的文本
word
Metaphor6922 天前
轻松使用 Python 将 RTF 转换为 Word(含批量转换与格式互转)
python·word·rtf
IHaveADiscovery2 天前
AI代劳Word表格线条:先搞懂术语再动手
人工智能·word