ABAP-OLE MS-WORD(将.docx另存为PDF)

2020-08-23 02:19发布

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

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


怪胎,

我需要通过OLE(启用对象链接)操作MS-word(.docx)文档,并在本地系统中另存为PDF。

我已使用 WORD.BASIC 作为对象,并设法处理文档(.docx)并将其保存为相同的.docx格式。

但是在将文档(.docx)保存为PDF时,我面临着技术难题。

任何人都可以指导我如何通过 OLE 将.docx保存为PDF。 我浏览了许多博客和论坛,但没有找到适当的解决方案来将操纵的文档(.docx)保存为PDF。

PFB。 我用于处理文档(.docx)的代码。


创建对象lv_word'WORD.BASIC'。

lv_word'FILEOPEN'导出#1的调用方法= << file_path >>。

lv_word'ViewHeader'的呼叫方法。
lv_word'EDITREPLACE'的呼叫方法
导出
#01 = <<查找词>>
#02 = <<替换词>>
#03 = 0
#04 = 0
#05 = 0
#06 = 0
#07 = 0
#08 = 0
#09 = 0
# 10 = 1
#11 = 0
#12 =1。
lv_word'CloseViewHeaderFooter'的调用方法。
lv_word'FILESAVEAS'导出的调用方法#1 = << file_path >>。< br> lv_word'DOCCLOSE'的调用方法导出#1 =2。
lv_word'APPCLOSE'的调用方法。

感谢与问候,

Saivignesh Sudarsan。

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

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


怪胎,

我需要通过OLE(启用对象链接)操作MS-word(.docx)文档,并在本地系统中另存为PDF。

我已使用 WORD.BASIC 作为对象,并设法处理文档(.docx)并将其保存为相同的.docx格式。

但是在将文档(.docx)保存为PDF时,我面临着技术难题。

任何人都可以指导我如何通过 OLE 将.docx保存为PDF。 我浏览了许多博客和论坛,但没有找到适当的解决方案来将操纵的文档(.docx)保存为PDF。

PFB。 我用于处理文档(.docx)的代码。


创建对象lv_word'WORD.BASIC'。

lv_word'FILEOPEN'导出#1的调用方法= << file_path >>。

lv_word'ViewHeader'的呼叫方法。
lv_word'EDITREPLACE'的呼叫方法
导出
#01 = <<查找词>>
#02 = <<替换词>>
#03 = 0
#04 = 0
#05 = 0
#06 = 0
#07 = 0
#08 = 0
#09 = 0
# 10 = 1
#11 = 0
#12 =1。
lv_word'CloseViewHeaderFooter'的调用方法。
lv_word'FILESAVEAS'导出的调用方法#1 = << file_path >>。< br> lv_word'DOCCLOSE'的调用方法导出#1 =2。
lv_word'APPCLOSE'的调用方法。

感谢与问候,

Saivignesh Sudarsan。

付费偷看设置
发送
6条回答
当学会了学习
1楼 · 2020-08-23 02:44.采纳回答

怪胎,

感谢您的回复????我能够从两个人( Simone Milesi DieterGröhn)。

但是我不确定如何使用方法的参数将.docx文件另存为pdf。

因此,在我搜索时,发现了一个线程(如下所示)并且很有帮助。

现在,让我简要介绍一下我如何实现这一目标(使用OLE将.docx文件保存为pdf格式)。

步骤-1:

最初,我使用WORD.BASIC来处理.docx文件。

PFB。我使用的代码(如前所述)

创建对象lv_word'WORD.BASIC'。

lv_word'FILEOPEN'导出#1的调用方法= << file_path >>。

lv_word'ViewHeader'的呼叫方法。
lv_word'EDITREPLACE'的呼叫方法
导出
#01 = <<查找词>>
#02 = <<替换词>>
#03 = 0
#04 = 0
#05 = 0
#06 = 0
#07 = 0
#08 = 0
#09 = 0
# 10 = 1
#11 = 0
#12 =1。
lv_word'CloseViewHeaderFooter'的调用方法。
lv_word'FILESAVEAS'导出的调用方法#1 = << file_path >>。< br> lv_word'DOCCLOSE'的调用方法导出#1 =2。
lv_word'APPCLOSE'的调用方法。

步骤-2:

现在,我使用WORD.APPLICATION将操作过的文件保存为pdf。

创建对象lv_wordapp'word.application'。

设置lv_wordapp'可见'的属性=0。

lv_wordapp'Documents'= v_worddoc的

调用方法。

lv_worddoc"打开"的

调用方法

导出

#1 ='C:\ '。

lv_wordapp'ActiveDocument'= lv_wordadoc的调用方法。

lv_wordadoc'Content'= lv_wordcont的调用方法。

lv_wordadoc"另存为"的

调用方法

导出

#1 ='C:\ << rel =" nofollow" hraf=" http://FILENAME.PDF" target =" _ blank"> FILENAME.PDF >'

#2 = 17。

lv_wordapp'退出'的

调用方法。

免费对象lv_wordapp。

PDF文件已成功生成。

所以终于有了一个解决方案,上面的代码运行得很好????

谢谢大家????

感谢与问候,

Saivignesh Sudarsan。

me_for_i
2楼-- · 2020-08-23 02:55

这很好。

暮风yp
3楼-- · 2020-08-23 03:02

嗨,

您可以通过OLE导出DOC。

尝试一下:

节食者Dieter

小熊yu生菜
4楼-- · 2020-08-23 03:03

嗨西蒙娜·米丽丝(Simone Milesi),

非常感谢您提供的最重要的信息,从这些信息中我得出了将.docx保存为pdf格式的解决方案。

感激thank和伟大????

感谢与问候,

Saivignesh Sudarsan。

Aaron 3364
5楼-- · 2020-08-23 02:52

嗨!

调用SaveAs方法时,将第二个参数传递为'17'->这是另存为pdf的值

我是从另一个论坛上获得的

好的,我知道了。

事实证明17是PDF的FormatType,所以您只需要这样做

类似这样的东西:

document.SaveAs(文件名,17)

我没有看到任何与此相关的文档,但是我们才刚刚开始

从0开始作为FormateType,然后我们点击17,就生成了有效的PDF!

该参考资料来自Ruby博客,但它使用Win OLE来实现它,所以我认为您也可以这样做

Windows上的Ruby:将Microsoft Office文档另存为PDF

让我知道它是否有效????

clever101
6楼-- · 2020-08-23 02:43

在退出应用程序之前,我会在此代码中添加以下行:

 的调用方法
      lv_wordadoc
      '保存'。
 

这将避免单词application在关闭docx文件之前提示您进行保存。


感谢分享!

一周热门 更多>