使用sap自动化对象excel合并单元格

2020-08-15 18:50发布

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

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


嗨,

我正在使用SAP自动化对象,以便处理存储在业务文档对象服务(OAER)中的Excel模板。 原则上,一切都按照我的预期进行。 通过将某些链接引用替换为SAP信息,我可以从模板中操作单元格内容。 我还可以使用 i_oi_spreadsheet 类接口的几种方法来添加整个新部分。

我现在面临的问题与"选择"一系列excel列并将它们合并到单个列中的可能性有关。

这是我想要获得的东西的一个例子

请注意,此"表"不能预定义并存储在模板中,因为其中包含不可预测的项目数。 因此,我必须在运行时中使用"插入范围"和"插入单个表"方法来创建它。 之后,我想将此表的第一行(标题)压缩为单列。

有没有办法实现? 如果有可能,有人可以提供示例代码吗?

预先感谢

Fabrizio

标题 第1行第1行 Col2第1行 Col3第1行 第1行第2行 第2行2 Col3第2行 Col1第3行 Col2第3行 Col3第3行

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

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


嗨,

我正在使用SAP自动化对象,以便处理存储在业务文档对象服务(OAER)中的Excel模板。 原则上,一切都按照我的预期进行。 通过将某些链接引用替换为SAP信息,我可以从模板中操作单元格内容。 我还可以使用 i_oi_spreadsheet 类接口的几种方法来添加整个新部分。

我现在面临的问题与"选择"一系列excel列并将它们合并到单个列中的可能性有关。

这是我想要获得的东西的一个例子

请注意,此"表"不能预定义并存储在模板中,因为其中包含不可预测的项目数。 因此,我必须在运行时中使用"插入范围"和"插入单个表"方法来创建它。 之后,我想将此表的第一行(标题)压缩为单列。

有没有办法实现? 如果有可能,有人可以提供示例代码吗?

预先感谢

Fabrizio

标题 第1行第1行 Col2第1行 Col3第1行 第1行第2行 第2行2 Col3第2行 Col1第3行 Col2第3行 Col3第3行
付费偷看设置
发送
4条回答
hengyuye
1楼-- · 2020-08-15 18:56

嗨Fabrizio,

在此文档中检查Excel OLE

http://scn.sap.com/docs/DOC-10373

感谢SerdarŞimşekler。

此致

Tolga

My梦
2楼-- · 2020-08-15 18:55

您好!

能帮我将belo Macro转换成OLE格式吗?

ActiveSheet.CheckBoxes.Add(180,123.5,33.5,17.5)。选择

范围(" B10")。选择

谢谢

Rajashree Palkar。

宇峰Kouji
3楼-- · 2020-08-15 19:20

在VBA中,您需要执行以下两行代码:

Excel.Application.Range(" B1:B12")。选择

Excel.Application.Selection.Merge

在使用OLE自动化的ABAP中,将是这样的:

数据:oExcel TYPE ole2_object。

数据:范围类型ole2_object。

数据:o选择TYPE ole2_object。

创建oExcel'EXCEL.APPLICATION'对象。

oExcel的调用方法'Range'= oRange导出#1 ='B1:B12'。

oExcel的调用方法'Select'。

oExcel的调用方法 '选择'= oSelect。

调用oSelect'合并'的方法。

吹牛啤
4楼-- · 2020-08-15 19:14

Hi Fabrizio,

检查此SAP演示程序" RSDEMO01",创建该程序的" Z"副本,并在此" Z"副本程序中进行以下一些更改。

添加两个变量

数据:GS_FONT类型OLE2_OBJECT,

GV_LINE_CNTR I型。

================================================ =================

隐藏以下几行...." Z-程序"中

*将列标题输出到活动的Excel工作表

使用1 1 1'Flug'(001)执行FILL_CELL。 "隐藏此行

使用1 2 1'Nr'(002)执行FILL_CELL。 "隐藏此行

使用1 3 1'Von'(003)执行FILL_CELL。 "隐藏此行

使用1 4 1'Nach'(004)执行FILL_CELL。 "隐藏此行

使用1 5 1'Zeit'(005)执行FILL_CELL。 "隐藏此行

================================================ =======================

在上述各行之后,在" Z程序"中添加此行。

执行HEADER。

表格标题。

GV_LINE_CNTR =1。"行计数器

* ---------------------------------------------- ------------------------ *

*标题*

* ---------------------------------------------- ------------------------ *

H_EXCEL'单元'的呼叫方法= GS_CELL1

导出

#1 = 1

#2 = 1。

H_EXCEL"单元格"的调用方法= GS_CELL2

导出

#1 = 1

#2 = 5。

H_EXCEL"范围" = GS_CELLS的调用方法

导出

#1 = GS_CELL1

#2 = GS_CELL2。

GS_CELLS"选择"的呼叫方法。

*-合并

GS_CELLS"合并"的呼叫方法。

*-设置标题数据

H_EXCEL'单元'的呼叫方法= GS_CELL1

导出

#1 = GV_LINE_CNTR

#2 = 1。

设置GS_CELL1的属性'值'='标题名称'。

*-设置标题格式

获取GS_CELL1'Font'= GS_FONT的属性。

设置GS_FONT'下划线'= 2的属性。

设置GS_FONT'Bold'= 1的属性。

ENDFORM。 " HEADER

================================================ ===================

在此行" 免费对象H_EXCEL。"之前加一。..行号89

PERFORM AUTO_FILTER。

FORM AUTO_FILTER。

H_EXCEL'单元'的呼叫方法= GS_CELL1

导出

#1 = 1"第一行

#2 =1。"第一栏

H_EXCEL"单元格"的调用方法= GS_CELL2

导出

#1 = 5英寸第5行

#2 =5。"第四栏

*

H_EXCEL'范围'的呼叫方法= GS_CELLS"选择范围区域

导出

#1 = GS_CELL1

#2 = GS_CELL2。

ENDFORM。 " AUTO_FILTER

================================================ ======================

输出:

问候

Smruti



一周热门 更多>