【问题标题】:Export EXCEL Workbook as PDF through SAP通过 SAP 将 EXCEL 工作簿导出为 PDF
【发布时间】:2014-01-08 07:15:20
【问题描述】:

我正在使用 EXCELExportAsFixedFormat 方法,以便在 PDF导出 工作簿通过ABAP

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

问题: 我的问题是我不能使用range 参数,因为它在EXCEL 中似乎没有任何作用。

我尝试使用 另存为类型: PDFEXCEL 中录制宏,然后选择 整个工作簿选项发布内容部分。

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

宏:

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

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

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

ABAP 方法:

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

提前感谢任何 cmets。

【问题讨论】:

    标签: excel vba abap ole


    【解决方案1】:

    您的 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'.
    

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 2020-06-27
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-09
      相关资源
      最近更新 更多