如何消除ole abap中的空行?

2020-08-26 07:55发布

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

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


您好,我想知道如何从OLE ABAP中删除Excel文档中的空行,但不从VBA中删除MACROS。

我已经使用Excel MACRO做到了,它可以工作,但是我想使用ABAP代码来完成,这是我使用的代码:

finrgo = Range(" B65536")。End(xlUp).Row

范围(" B9")。选择

而ActiveCell.Row <= finrgo

如果ActiveCell.Value =""然后

ActiveCell.EntireRow.Delete

finrgo = finrgo-1

其他

ActiveCell.Offset(1,0)。选择

如果结束

参加

感谢您的帮助!

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

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


您好,我想知道如何从OLE ABAP中删除Excel文档中的空行,但不从VBA中删除MACROS。

我已经使用Excel MACRO做到了,它可以工作,但是我想使用ABAP代码来完成,这是我使用的代码:

finrgo = Range(" B65536")。End(xlUp).Row

范围(" B9")。选择

而ActiveCell.Row <= finrgo

如果ActiveCell.Value =""然后

ActiveCell.EntireRow.Delete

finrgo = finrgo-1

其他

ActiveCell.Offset(1,0)。选择

如果结束

参加

感谢您的帮助!

付费偷看设置
发送
5条回答
太Q了
1楼 · 2020-08-26 08:31.采纳回答

对您有很大帮助的是在VBA编辑器(ALT + F11)中使用"对象资源管理器"工具(F2)。 它提供您需要的一切。 例如,如何知道常量(xlUp)的实际值,如何知道名称是方法还是属性,方法的形式参数的位置等。

为帮助您从头开始,这是程序的第一行(前提是为测试创建一个Excel文件)。 为了简单起见,我省略了异常处理:

报告。
 TYPE-POOLS ole2。
 DATA excel TYPE ole2_object。
 DATA工作簿TYPE ole2_object。
 DATA工作簿TYPE ole2_object。
 DATA工作表类型ole2_object。
 数据范围1类型ole2_object。
 数据范围2类型ole2_object。
 数据finrgo TYPE i。
 创建对象excel'excel.application'。
 "设置工作簿= excel.workbooks
 excel"工作簿"的调用方法=工作簿。
 " set workbook = workbooks.open(" C:\ Users \ sandra \ Documents \ Classeur1.xlsm")
 调用工作簿的方法'打开'=导出工作簿#1 ='C:\ Users \ sandra \ Documents \ Classeur1.xlsm'。
 "设置工作表= workbook.worksheets(1)
 获取工作簿"工作表"的属性=工作表导出#1 = 1。
 "设置range1 = worksheet.range(" B65536")
 获取工作表的属性'range'= range1 EXPORTING#1 ='B65536'。
 "设置range2 = range1.end(xlUp)
 获取范围1'结束'的属性=范围2导出#1 = -4162。
 " finrgo = range2.row
 获得range2'row'= finrgo的属性。
 工作簿"关闭"的调用方法导出#1 =0。" SaveChanges = false
 excel退出方法。
 写/finrgo。
 
My梦
2楼-- · 2020-08-26 08:34

你好,桑德拉。

检查您传递给我的URL,如果可以的话,但是我想要执行的功能有点复杂。

我想知道您是否碰巧提供了比我更多的信息。

非常感谢。

宇峰Kouji
3楼-- · 2020-08-26 08:33

对不起,我不知道任何博客文章或培训文档如何将VBA代码转换为ABAP代码 。 提供您尝试过的ABAP代码难道不是很容易,这样人们就可以告诉您错误的部分在哪里吗?

半个程序猿
4楼-- · 2020-08-26 08:44

早上好

知道可以帮助我将VBA代码传递给ABAP代码的平台。 谢谢!!!
d56caomao
5楼-- · 2020-08-26 08:28

我不明白您的问题。 ABAP中的WHILE和IF非常简单:

获取excel'ActiveCell'的属性= ActiveCell。
 获得ActiveCell'行'的属性= ActiveCell_Row。
 当ActiveCell_Row <= finrgo时。
 获得ActiveCell'值'的属性= ActiveCell_Value。
 如果ActiveCell_Value =''。
 获得ActiveCell'EntireRow'的属性= ActiveCell_EntireRow。
 ActiveCell_EntireRow"删除"的调用方法。
 finrgo = finrgo-1。
 其他。
 获取ActiveCell'Offset'的属性= ActiveCell_Offset_1_0导出#1 = 1#2 = 0。
 ActiveCell_Offset_1_0的调用方法"选择"。
 万一。
 获得ActiveCell'行'的属性= ActiveCell_Row。
 结束。
 

一周热门 更多>