2014-01-08 100 views
0

我通过SAP使用ExportAsFixedFormat方法EXCEL,为了出口一个工作簿PDF PDF。导出Excel工作簿通过SAP

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

问题:我的问题是,它似乎在EXCEL没有影响我不能使用range参数。

我试图录制宏EXCEL使用保存类型:PDF,并选择整个工作簿发布的选项什么部分。

不幸的是,你是否只在选项活动工作表(S),或整个工作簿设置,所记录的宏是完全一样的(以下所示的),因为我想的选项包含在IncludeDocProperties中,我无法通过我当前的方法。

宏:

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

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

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

SAP方法:

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

先感谢您的任何意见。

回答

0

您的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'. 
相关问题