转自 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. php接口开发时,数据解析失败问题,字符转义,编码问题

    php接口开发时,数据解析失败问题,字符转义,编码问题 情景: A平台--->向接口请求数据---->接口向B平台请求数据---->B平台返回数据给接口---->接口返回数据给 ...

  2. hdu 4514(树的直径+并查集)

    湫湫系列故事——设计风景线 Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tot ...

  3. Error: spawn xxxx ENOENT原因与解决

    背景: npm 运行项目时出现了该问题 原因: path环境变量配置不当,导致无法找到指定的程序,如Error: spawn cmd.exe ENOENT,出现该问题的原因是因为没有将%SystemR ...

  4. js-jquery 中$.ajax -浅显接触

    工作了将近2年,终于开始自己写ajax了!!!真紧张的! 当年培训时就没有学ajax,就让我们自己看看,我是那种主动学习的人吗?不是!!!所以搞不懂ajax!!!!! 在工作中,数据的绑定我们之前都是 ...

  5. POJ - 2135最小费用流

    题目链接:http://poj.org/problem?id=2135 今天学习最小费用流.模板手敲了一遍. 产生了一个新的问题:对于一条无向边,这样修改了正向边容量后,反向边不用管吗? 后来想了想, ...

  6. 济南day6

    上午 60+0+5 数组开小了 暴力打挂了 下午 0+0+30 T1爆零 //T1,T2文件打错了.... 暴力打挂

  7. java反射原理运用

    1.首先用Java反射机制的要做到的一个目的:我们都知道通过得到一个对象中的指定方法或者属性等,基于这个原理我们来做一个 通用的功能,让客户端可以通过传入的对象和一个标识去调用这个对象里自己想要的方法 ...

  8. PageHelper分页工具

    <a>共${page.total}件商品</a>    <a>共${page.pages}页</a>    <a>当前第${page.pag ...

  9. eclipse 五种断点

    1. Line BreakpointLine Breakpoin是最简单的Eclipse断点,只要双击某行代码对应的左侧栏,就对该行设置上断点. 2. WatchpointLine Breakpoin ...

  10. DNA的分子结构

    DNA是由两条链组成的, 这两条链按反相平行的方式盘旋成双螺旋结构 DNA分子中的脱氧核糖和磷酸交替连接, 排列在外侧, 构成基本骨架; 碱基排列在内侧. 两条链上的碱基通过氢键连接成碱基对, 并且其 ...