转自 http://www.cnblogs.com/eric0701/p/5213694.html
SAP EXCEL OLE常用方法和属性 附加网上找到的比较好的源代码示例一份

1.ole中如何保存和退出。

call method of sheetname 'saveas'

exporting

#1 = filepath

#2 =1.

call method of applicationname 'quit'.

-------------------------------------------------------------------------

2.给sheet重命名。

call method of sheetname 'name' = 'sheetname'.

-------------------------------------------------------------------------

3.创建application.

call method of XXX 'excel.application'.

-------------------------------------------------------------------------

4.设置XXX的显示模式。

set property of XXX 'visible' = 1.前台运行。为0时表示为后台运行。

-------------------------------------------------------------------------

5.创建workbook.

CALL METHOD OF EXCEL 'WORKBOOKS' = WORKBOOK .

call method of workbook 'ADD'.

-------------------------------------------------------------------------

6.在一个workbook中添加一个worksheet.

CALL METHOD OF applicationname 'sheets' =worksheet.

call method of worksheet 'Add' .

-------------------------------------------------------------------------

7.给单元格赋值。

CaLL METHOD OF EXCEL 'CELLS' = CELL

EXPORTING

#1 = 2

#2 = 2.

Set PROPERTY OF CELL 'value'=  xxxx.

-------------------------------------------------------------------------

8.指定要被操作的sheet.

CALL METHOD OF applicationname 'Worksheets' =SHEET

EXPORTING

#1 = 'sheet3'.  这里sheet3为要操作的sheet的名字。

call method of sheet 'Activate '.

-------------------------------------------------------------------------

9.指定操作的单元格的范围。

CALL METHOD OF applicationname 'Range' = range

EXPORTING

#1 = 'B2'

#2 = 'c2'.

-------------------------------------------------------------------------

10. 如何操作范围内的单元格。

call method of range 'select '.   range也为已经定义好的ole2_object.

Set PROPERTY OF range 'MergeCells' = 0 . 合并单元格,0时不合并,1则合并。与前面一起使用

Set PROPERTY OF range  'HorizontalAlignment' = 10 .

Set PROPERTY OF range  'VerticalAlignment' = -4108  .

-------------------------------------------------------------------------

11.单元格内部属性的操作.

call method of cell 'INTERIOR' = int.

set property of int 'ColorIndex' = color. 颜色

set property of int 'Pattern' = pattern.

-------------------------------------------------------------------------

12.单元格内字体的操作.

call method of CELL 'FONT' = font.

set property of font 'BOLD' = bold.

set property of font 'SIZE' = size.

-------------------------------------------------------------------------

13.边框的操作.

call method of CELL 'BORDERS' = BORDERS

EXPORTING

#1 = '1'. 1-left 2-right 3-top 4-bottom

set property of borders 'Linestyle' = plinestyle .

set property of borders 'Weight' = pweight .

free object borders.

在此之前应该指定range.

-------------------------------------------------------------------------

14.复制与粘贴.

call method of sheet 'copy'.

call method of sheet 'paste'.

-------------------------------------------------------------------------

15.一点注意。

在操作sheet时,默认为上次操作的sheet.如果想更换,参考8。

-------------------------------------------------------------------------

16。一个问题。有时输入数据如111111111111111111,会显示为1E+17。

解决办法:

CALL METHOD OF h_excel 'COLUMNS' = columnObj

EXPORTING

#1 = 6.  "the column number

SET PROPERTY OF columnObj 'ColumnWidth' = 10.

SET PROPERTY OF columnObj 'NumberFormat' = '@'.

-------------------------------------------------------------------------

17。打开一个workbook.

call METHOD OF workbook 'Open' EXPORTING #1 =filename+path.

-------------------------------------------------------------------------

18. 所有的操作方法都可以在sell----表 oleload 中查询到。

-------------------------------------------------------------------------

19. 执行宏。

CALL METHOD OF EXCEL 'RUN' EXPORTING #1 ='ZMACRO2'.

-------------------------------------------------------------------------

20。清除range 内容

CALL METHOD OF EXCEL 'Range' = RANGE

EXPORTING

#1 = tar_cell

#2 = tar_cell.

call METHOD of RANGE 'ClearContents'.

-------------------------------------------------------------------------

21 合并单元格

CALL METHOD OF EXCEL 'Range' = RANGE

EXPORTING

#1 = sor_cell

#2 = tar_cell.

SET PROPERTY OF RANGE 'MergeCells' = 1.

-------------------------------------------------------------------------

22。缩小字体填充

SET PROPERTY OF range 'ShrinkToFit' = 0 .

note: 为0时取消缩小字体填充,为1时设置缩小字体填充。

-------------------------------------------------------------------------

note:

1.与ole相关的关键字存储在表oleload中。

2.如果有些ole方法不熟悉,可以利用vba录制宏来寻找相关的关键字。

-------------------------------------------------------------------------

-------------------------------------------------------------------------

OLE示例:可直接运行

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

* Program Name: Z_KEVIN_OLE

* Project     : N/A

* Author      : Kevin.Zhang

* Date        : 2007.1.1

* Module      : N/A

* Description : Template of Program

*

*

*

* Special features: N/A

*

*

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

* Modifications:

* Author      Date     Commented as  Description

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

*

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

REPORT  Z_KEVIN_OLE.

*$*$----------------------------------------------------------------$*$*

*$*$       Global Types, Data Statements, Ranges, Constants         $*$*

*$*$----------------------------------------------------------------$*$*

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

*                   Type Pools

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

*--Include for OLE-enabling definitions

INCLUDE OLE2INCL .

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

*     Global GUI Controls Variables / Structures

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

*--Data Definition of OLE

DATA: GS_EXCEL          TYPE OLE2_OBJECT ,

GS_WBOOKLIST      TYPE OLE2_OBJECT ,

GS_APPLICATION    TYPE OLE2_OBJECT ,

GS_WBOOK          TYPE OLE2_OBJECT ,

GS_ACTIVESHEET    TYPE OLE2_OBJECT ,

GS_SHEETS         TYPE OLE2_OBJECT ,

GS_NEWSHEET       TYPE OLE2_OBJECT ,

GS_CELL1          TYPE OLE2_OBJECT ,

GS_CELL2          TYPE OLE2_OBJECT ,

GS_CELLS          TYPE OLE2_OBJECT ,

GS_RANGE          TYPE OLE2_OBJECT ,

GS_FONT           TYPE OLE2_OBJECT ,

GS_INTERIOR       TYPE OLE2_OBJECT ,

GS_COLUMNS        TYPE OLE2_OBJECT ,

GS_CHARTS         TYPE OLE2_OBJECT ,

GS_CHART          TYPE OLE2_OBJECT ,

GS_CHARTTITLE     TYPE OLE2_OBJECT ,

GS_CHARTTITLECHAR TYPE OLE2_OBJECT ,

GS_CHARTOBJECTS   TYPE OLE2_OBJECT .

DATA GV_SHEET_NAME(20) TYPE C .

DATA GV_OUTER_INDEX LIKE SY-INDEX .

DATA GV_INTEX(2) TYPE C .

DATA GV_LINE_CNTR TYPE I . "line counter

DATA GV_LINNO TYPE I . "line number

DATA GV_COLNO TYPE I . "column number

DATA GV_VALUE TYPE I . "data

*$*$----------------------------------------------------------------$*$*

*$*$                      Selection Screen                          $*$*

*$*$----------------------------------------------------------------$*$*

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

*                   Selection Screen

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

PARAMETERS: P_SHEETS TYPE I .

*$*$----------------------------------------------------------------$*$*

*$*$                          Main Program                          $*$*

*$*$----------------------------------------------------------------$*$*

*--------- START-OF-SELECTION ----------

START-OF-SELECTION .

DO P_SHEETS TIMES .

*--Forming sheet name

GV_INTEX = SY-INDEX .

GV_OUTER_INDEX = SY-INDEX .

CONCATENATE 'Excel Sheet #' GV_INTEX INTO GV_SHEET_NAME .

*--For the first loop, Excel is initiated and one new sheet is added

IF SY-INDEX = 1 .

CREATE OBJECT GS_EXCEL 'EXCEL.APPLICATION' .

SET PROPERTY OF GS_EXCEL 'Visible' = 1 .

GET PROPERTY OF GS_EXCEL 'Workbooks' = GS_WBOOKLIST .

GET PROPERTY OF GS_WBOOKLIST 'Application' = GS_APPLICATION .

SET PROPERTY OF GS_APPLICATION 'SheetsInNewWorkbook' = 1 .

CALL METHOD OF GS_WBOOKLIST 'Add' = GS_WBOOK .

GET PROPERTY OF GS_APPLICATION 'ActiveSheet' = GS_ACTIVESHEET .

SET PROPERTY OF GS_ACTIVESHEET 'Name' = GV_SHEET_NAME .

*--For the rest of loops, other sheets are added

ELSE .

GET PROPERTY OF GS_WBOOK 'Sheets' = GS_SHEETS .

CALL METHOD OF GS_SHEETS 'Add' = GS_NEWSHEET .

SET PROPERTY OF GS_NEWSHEET 'Name' = GV_SHEET_NAME .

ENDIF .

GV_LINE_CNTR = 1 . "line counter

*--Title

*--Selecting cell area to be merged.

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = 1

#2 = 1.

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

EXPORTING

#1 = 1

#2 = 4.

CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

EXPORTING

#1 = GS_CELL1

#2 = GS_CELL2.

CALL METHOD OF GS_CELLS 'Select' .

*--Merging

CALL METHOD OF GS_CELLS 'Merge' .

*--Setting title data

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = GV_LINE_CNTR

#2 = 1.

SET PROPERTY OF GS_CELL1 'Value' = 'TITLE' .

*--Formatting the title

GET PROPERTY OF GS_CELL1 'Font' = GS_FONT .

SET PROPERTY OF GS_FONT 'Underline' = 2 .

SET PROPERTY OF GS_FONT 'Bold' = 1 .

SET PROPERTY OF GS_CELL1 'HorizontalAlignment' = -4108 .

GET PROPERTY OF GS_CELL1 'Interior' = GS_INTERIOR .

SET PROPERTY OF GS_INTERIOR 'ColorIndex' = 15 .

SET PROPERTY OF GS_INTERIOR 'Pattern' = -4124 .

SET PROPERTY OF GS_INTERIOR 'PatternColorIndex' = -4105 .

GV_LINE_CNTR = GV_LINE_CNTR + 1 .

*--Writing some additional data for the title

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = GV_LINE_CNTR

#2 = 1.

SET PROPERTY OF GS_CELL1 'Value' = 'Sheet No' .

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = GV_LINE_CNTR

#2 = 5.

SET PROPERTY OF GS_CELL1 'Value' = ':' .

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = GV_LINE_CNTR

#2 = 6.

SET PROPERTY OF GS_CELL1 'Value' = GV_INTEX .

*--Formatting the area of additional data 1

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = 1

#2 = 1.

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

EXPORTING

#1 = GV_LINE_CNTR

#2 = 5.

CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

EXPORTING

#1 = GS_CELL1

#2 = GS_CELL2.

CALL METHOD OF GS_CELLS 'Select' .

GET PROPERTY OF GS_CELLS 'Font' = GS_FONT .

SET PROPERTY OF GS_FONT 'Bold' = 1 .

*--Formatting the area of additional data 2

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = 1

#2 = 5.

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

EXPORTING

#1 = GV_LINE_CNTR

#2 = 5.

CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

EXPORTING

#1 = GS_CELL1

#2 = GS_CELL2.

CALL METHOD OF GS_CELLS 'Select' .

GET PROPERTY OF GS_CELLS 'Columns' = GS_COLUMNS .

CALL METHOD OF GS_COLUMNS 'AutoFit' .

*--Bordering title data area

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = 1

#2 = 1.

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

EXPORTING

#1 = GV_LINE_CNTR

#2 = 6.

CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

EXPORTING

#1 = GS_CELL1

#2 = GS_CELL2.

CALL METHOD OF GS_CELLS 'Select' .

CALL METHOD OF GS_CELLS 'BorderAround'

EXPORTING

#1 = 1 "continuous line

#2 = 4. "thick

*--Putting axis labels

GV_COLNO = 2 .

GV_LINE_CNTR = GV_LINE_CNTR + 5 .

GV_LINNO = GV_LINE_CNTR - 1 .

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = GV_LINNO

#2 = 1.

SET PROPERTY OF GS_CELL1 'Value' = 'X' .

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = GV_LINE_CNTR

#2 = 1.

SET PROPERTY OF GS_CELL1 'Value' = 'Y' .

*--Generating some data

DO 3 TIMES .

GV_VALUE = GV_OUTER_INDEX * SY-INDEX * 10 .

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = GV_LINNO

#2 = GV_COLNO.

SET PROPERTY OF GS_CELL1 'Value' = SY-INDEX .

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = GV_LINE_CNTR

#2 = GV_COLNO.

SET PROPERTY OF GS_CELL1 'Value' = GV_VALUE .

GV_COLNO = GV_COLNO + 1 .

ENDDO .

*--Source data area

GV_COLNO = GV_COLNO - 1 .

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = GV_LINNO

#2 = 1.

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

EXPORTING

#1 = GV_LINE_CNTR

#2 = GV_COLNO.

CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

EXPORTING

#1 = GS_CELL1

#2 = GS_CELL2.

CALL METHOD OF GS_CELLS 'Select' .

GET PROPERTY OF GS_APPLICATION 'Charts' = GS_CHARTS .

CALL METHOD OF GS_CHARTS 'Add' = GS_CHART .

CALL METHOD OF GS_CHART 'Activate' .

SET PROPERTY OF GS_CHART 'ChartType' = '51' . "Vertical bar graph

CALL METHOD OF GS_CHART 'SetSourceData'

EXPORTING

#1 = GS_CELLS

#2 = 1.

SET PROPERTY OF GS_CHART 'HasTitle' = 1 .

GET PROPERTY OF GS_CHART 'ChartTitle' = GS_CHARTTITLE .

GET PROPERTY OF GS_CHARTTITLE 'Characters' = GS_CHARTTITLECHAR .

SET PROPERTY OF GS_CHARTTITLECHAR 'Text' = 'Sample Graph' .

*--Locate the chart onto the current worksheet

*--Activate current sheet

CALL METHOD OF GS_EXCEL 'WorkSheets' = GS_ACTIVESHEET

EXPORTING

#1 = GV_SHEET_NAME.

CALL METHOD OF GS_ACTIVESHEET 'Activate' .

CALL METHOD OF GS_CHART 'Location'

EXPORTING

#1 = 2

#2 = GV_SHEET_NAME.

*--Reposition the chart on the worksheet (cut&paste)

CALL METHOD OF GS_ACTIVESHEET 'ChartObjects' = GS_CHARTOBJECTS .

CALL METHOD OF GS_CHARTOBJECTS 'Select' .

CALL METHOD OF GS_CHARTOBJECTS 'Cut' .

*--Select new area

GV_LINE_CNTR = GV_LINE_CNTR + 2 .

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

EXPORTING

#1 = GV_LINE_CNTR

#2 = 1.

CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

EXPORTING

#1 = GV_LINE_CNTR

#2 = 1.

CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

EXPORTING

#1 = GS_CELL1

#2 = GS_CELL2.

CALL METHOD OF GS_CELLS 'Select' .

CALL METHOD OF GS_ACTIVESHEET 'Paste' .

ENDDO.

*--Deallocating memory

FREE: GS_EXCEL, GS_WBOOKLIST, GS_APPLICATION, GS_WBOOK,

GS_ACTIVESHEET,GS_SHEETS, GS_NEWSHEET, GS_CELL1,

GS_CELL2, GS_CELLS, GS_RANGE, GS_FONT, GS_INTERIOR,

GS_COLUMNS, GS_CHARTS, GS_CHART, GS_CHARTTITLE,

GS_CHARTTITLECHAR, GS_CHARTOBJECTS .

ABAP OLE常用方法和属性的更多相关文章

  1. ABAP excel操作 OLE 常用方法和属性

    转自 http://bstone.blog.163.com/blog/static/176820446201172834149199/#userconsent# OLE 常用方法和属性 1.ole中如 ...

  2. SAP EXCEL OLE常用方法和属性

    1.创建application: CREATE OBJECT excel 'EXCEL.APPLICATION'. 2.设置显示模式,为1前台运行,为0时表示为后台运行. . 3.设置为不弹消息框(在 ...

  3. Javascript - ExtJs - 常用方法和属性

    常用方法和属性(Common methods and attributes) ExtJs中的对象 Ext.Component Ext组件对象,表示一个可渲染的组件. Ext.dom.Element E ...

  4. TStringList 常用方法与属性

    /TStringList 常用方法与属性 :varList: TStringList;i: Integer;begin List := TStringList.Create;List.Add('Str ...

  5. Jquery 常用方法 及属性

    Jquery   常用方法 及属性 jQuery 事件 鼠标事件 键盘事件 表单事件 文档/窗口事件 click keypress submit load dblclick keydown chang ...

  6. JavaScript数组方法速查,32个数组的常用方法和属性

    JavaScript数组方法速查手册极简版 http://30ke.cn/doc/js-array-method JavaScript数组方法速查手册极简版中共收了32个数组的常用方法和属性,并根据方 ...

  7. java file类的常用方法和属性

    1 常用方法       a.createNewFile方法 public boolean createNewFile() throws IOException 该方法的作用是创建指定的文件.该方法只 ...

  8. iOS UIView常用方法和属性

    UIView常用方法 addSubView: // 添加子视图 insertSubview: atIndex // 视图插入到指定索引位置 insertSubview:aboveSubview: // ...

  9. JavaScript String常用方法和属性

    在JavaScript中,字符串是不可变的,如果使用索引对字符串进行修改浏览器不会报错,但也没有任何效果.JavaScript提供的这些方法不会修改原有字符串的内容,而是返回一个新的期望的字符串. 一 ...

随机推荐

  1. ping++微信渠道,第二次拉起不能进行支付返回订单号重复问题

    项目中用到了支付功能,采用的是ping++实现的,上线运行一年多都很正常,但是最近突然出现有买家反映说不能进行支付的情况 通过了解和沟通之后发现发现是重复拉起失败,然后我们对问题进行了排查. 测试过程 ...

  2. 图片点击放大并可点击旋转插件(1)-jquery.artZoom.js

    1.首先加入链接: <script type="text/javascript" src="js/jquery-1.6.1.min.js">< ...

  3. vs2017秘钥

    VS2017专业版和企业版激活密钥 需要的请自取- Enterprise: NJVYC-BMHX2-G77MM-4XJMR-6Q8QF Professional: KBJFW-NXHK6-W4WJM- ...

  4. 洛谷——P2296 寻找道路

    P2296 寻找道路 题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点 ...

  5. 洛谷——P3252 [JLOI2012]树

    P3252 [JLOI2012]树 题目描述 在这个问题中,给定一个值S和一棵树.在树的每个节点有一个正整数,问有多少条路径的节点总和达到S.路径中节点的深度必须是升序的.假设节点1是根节点,根的深度 ...

  6. linux grep 查找文件内容

    自试: wang@wang:~$ grep -i "*args*" ~/IGV01-SW/src/bzrobot_diagnostics/bzrobot_lightbelt_man ...

  7. 简单的makefile模板

    makefile不是总用到,每次用到的时候总要重新找资料,有点麻烦(怪自己基础知识不扎实,汗).留一个通用模板放这,方便以后使用 CC = gcc CXX = g++ LINK = g++ CFLAG ...

  8. java多线程04----------final和static

    final和static关键字 final关键字 1.final关键字在单线程中的特点: 1)final修饰的静态成员:必须在进行显示初始化或静态代码块赋值,并且仅能赋值一次. 2)final修饰的类 ...

  9. 四个很好的开源app项目

    Open Source and the iOS App Store Today, we are open-sourcing 4 iOS apps: ThatInbox, an email client ...

  10. Smart3D系列教程8之 《模型合并——相邻地区多次建模结果合并》

    迄今为止,Wish3D已经出品推出了7篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于建模软件的 ...