在Winword和Excel中使用OLE更改ActivePrinter

2020-08-30 11:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的专家 我需要在Wo...

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

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


尊敬的专家

我需要在Word和Excel中更改属性ActivePrinter。 虽然它可以在Word中运行,但无法在Excel中运行。 请在下面找到我的Word和Excel的ABAP代码。 非常感谢您的帮助!

 *在Winword中更改ActiveDocument
 参数:pa_prt1 TYPE rspoprname
               默认为"佳能MG5300系列打印机",
             pa_prt2 TYPE rspoprname
                 默认为" Microsoft打印为PDF"。

 数据:lo_application TYPE ole2_object,
       lo_documents TYPE ole2_object,
       lo_activedocument TYPE ole2_object,
       le_string TYPE字符串。

 创建对象lo_application'Word.Application'。
 lo_application的"可见"设置属性= 0。

 lo_application"文档"的调用方法= lo_documents。
 lo_documents"打开"的调用方法
   出口
     #1 ='C:\ Temp \ File.doc'。
 lo_application的调用方法'ActiveDocument'= lo_activedocument。

 lo_application'ActivePrinter'的属性= le_string。

 CASE le_string。
   当pa_prt1。
     lo_application'ActivePrinter'的设置属性= pa_prt2。
   当pa_prt2。
     lo_application'ActivePrinter'的设置属性= pa_prt1。
   当别人。
 结束。

 lo_activedocument的调用方法"关闭"。
 lo_application'Quit'的呼叫方法
   出口
     #1 = 0。

 *在Excel中更改ActiveDocument
 参数:pa_prt1 TYPE rspoprname
               默认为"佳能MG5300系列打印机",
             pa_prt2 TYPE rspoprname
                 默认为" Microsoft打印为PDF"。

 数据:lo_application TYPE ole2_object,
       lo_workbooks TYPE ole2_object,
       lo_activeworkbook TYPE ole2_object,
       le_string TYPE字符串。

 创建对象lo_application'Excel.Application'。
 lo_application的"可见"设置属性= 0。

 lo_application"工作簿"的调用方法= lo_workbooks。
 lo_workbook的"打开"呼叫方法
   出口
     #1 ='C:\ Temp \ Excel.xls'。
 lo_application'ActiveWorkbook'的调用方法= lo_activeworkbook。

 lo_application'ActivePrinter'的属性= le_string。

 CASE le_string。
   当pa_prt1。
     lo_application'ActivePrinter'的设置属性= pa_prt2。
   当pa_prt2。
     lo_application'ActivePrinter'的设置属性= pa_prt1。
   当别人。
 结束。

 lo_activeworkbook的呼叫方法"关闭"。
 lo_workbook的呼叫方法"关闭"。
 lo_application'Quit'的呼叫方法
   出口
     #1 = 0。