转自 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. 使用sqlparse分析SQL语句,及自己写的SQL分析语句

    备忘, 以后写的时候可以参考. #!/usr/bin/env python # -*- coding: utf-8 -*- import sqlparse import re sql = " ...

  2. DNS重绑定DNS Rebinding攻击

    DNS重绑定DNS Rebinding攻击 在网页浏览过程中,用户在地址栏中输入包含域名的网址.浏览器通过DNS服务器将域名解析为IP地址,然后向对应的IP地址请求资源,最后展现给用户.而对于域名所有 ...

  3. php 打印今天,昨天,本周,上周,当月,上月,本季,上季,今年,去年数据

    if($filter['mode']) { switch ($filter['mode']) { case 1://今天的数据 $time_start = date("Y-m-d H:i:s ...

  4. fastscript增加三方控件之二

    fastscript增加三方控件之二 unit fs_BsDataSet; interface {$i fs.inc} uses SysUtils, Classes, fs_iinterpreter, ...

  5. GDI+ ColorMatrix的完全揭秘

    无论是用何种语言,只要使用过Windows的GDI+的人对ColorMatrix都不陌生,我的BLOG文章中也多次提到过,并在<GDI+ for VCL基础 -- 颜色调整矩阵ColorMatr ...

  6. C#.NET的TabControl如何隐藏和显示页面

    如果需要显示某个页面,则让他的Parent就是TabControl的控件名称,如果要隐藏,则等于null      private void ToolStripMenuItemTeachPanelBa ...

  7. d3js 画布 概念

    HTML 5 提供两种强有力的“画布”:SVG 和 Canvas. SVG 有如下特点: SVG 绘制的是矢量图,因此对图像进行放大不会失真. 基于 XML,可以为每个元素添加 JavaScript ...

  8. mysql:“Access denied for user 'root@IP地址'"

    请仔细.再仔细确认你的用户名.密码.IP是否有误!   可悲的我老犯这种低级错误,以为用户没权限访问,唉..

  9. Cocos2d-x 3.0final 终结者系列教程15-win7+vs2012+adt+ndk环境搭建(无Cygwin)

    最终不用Cygwin 了.非常高兴 为什么要用Win7? 由于VS2012要求Win7以上系统才干安装! 为什么要用vs2012? 由于VS2012才支持C++11! 为什么要支持C++11? 由于C ...

  10. unix改变shell显示颜色

    编写shell脚本的时候.通过改变shell的显示颜色,不但可以改变使用shell终端的体验,并且更为有用的是,可以通过改变显示内容的颜色来区分正常输出.warning和error等不同关注级别的输出 ...