繁体   English   中英

通过 SAP 将 EXCEL 工作簿导出为 PDF

[英]Export EXCEL Workbook as PDF through SAP

我正在使用EXCELExportAsFixedFormat方法,以便通过ABAPPDF 格式导出工作簿

预期结果:我想保存整个工作簿,而不是只保存活动工作表。

问题:我的问题是我无法使用range参数,因为它似乎在EXCEL 中没有影响。

我尝试在EXCEL 中使用Save As Type: PDF录制宏,并在OptionsPublish What部分选择Entire Workbook

不幸的是,无论您只在Options 中设置Active Sheet(s)还是Entire Workbook ,记录的宏都完全相同(如下所示),因为我猜这些选项包含在IncludeDocProperties 中,我无法通过通过我目前的方法。

宏:

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\foo.pdf", Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False

考虑到我目前在我的类方法中使用的代码波纹管。 我正在寻找一种方法来改变我对活动工作表的选择或找到一种方法来传递发布整个工作簿的所需选项。

请注意,我想通过 ABAP 编码而不是通过 VBA 找到解决方案,因为我的选择有限。 此外,工作簿中包含的工作表数量是未知的,因为它们是动态填充的。 使用选择选项不利于应用程序。

ABAP方法:

call method of worksheet 'ExportAsFixedFormat'
  exporting
  #1 = '0'
  #2 = fullpath.

提前感谢您的任何意见。

您的 ABAP 代码实际上显示了问题。

您正在调用工作表上的方法,这只会导出该工作表。

您需要做的是调用相应工作簿上的方法以导出所有工作表。

下面是一些示例 ABAP 代码,它将创建一个工作簿、填充两个工作表并进行导出。 结果 PDF 每张纸有一页:

data: excel type obj_record.
data: workbooks type obj_record.
data: workbook type obj_record.
data: sheet type obj_record.
data: range type obj_record.

* Start Excel and create a new workbook
create object excel 'Excel.Application'.
get property of excel 'Workbooks' = workbooks.
call method of workbooks 'Add'.

* Set first cell in first sheet to a value
call method of excel 'Sheets' = sheet exporting #1 = 1.
call method of sheet 'Cells' = range EXPORTING #1 = 1 #2 = 1.
set property of range 'Value' = 'Page 1'.

* Set first cell in first sheet to a value
call method of excel 'Sheets' = sheet exporting #1 = 2.
call method of sheet 'Cells' = range EXPORTING #1 = 1 #2 = 1.
set property of range 'Value' = 'Page 2'.

* Get handle on the (first) workbook
get property of excel 'Workbooks' = workbook exporting #1 = 1.

* Export the entire workbook as PDF
call method of workbook 'ExportAsFixedFormat'
  exporting
  #1 = '0'
  #2 = 'C:\temp\excelpdfexport'.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM