转自 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. .net压缩图片质量(附demo)

    private void CompressedImage(string fileName, long quality) { FileStream fs = new FileStream(fileNam ...

  2. LeetCode OJ--Permutations *

    https://oj.leetcode.com/problems/permutations/ 写出一列数的全排列 #include <iostream> #include <vect ...

  3. LeetCode OJ--Regular Expression Matching

    http://oj.leetcode.com/problems/regular-expression-matching/ 问题给想复杂了,只有p中可以含有. *,s中的字符都是确定的.想了好久,最终还 ...

  4. 富文本ZSSRichTextEditor之趟坑集锦

    富文本ZSSRichTextEditor是iOS原生与网页交互的集大成者,各种交互.自然问题也是多多,这篇文文章陆续更新遇到的奇葩问题. 1.问题1:从头条这种文章里头复制粘贴的文章,里边有图片,我们 ...

  5. Ural 1780 Gray Code 乱搞暴力

    原题链接:http://acm.timus.ru/problem.aspx?space=1&num=1780 1780. Gray Code Time limit: 0.5 secondMem ...

  6. layui-时间选择器-时间范围选择

    HTML: JS: layui.use(['laydate'],function{ }); start:就为你选择的开始日期; end:就为你选择的结束日期 此方式可选择任意范围的时间,时间格式可任意 ...

  7. Flink起步安装和使用

    下载安装 下载地址 下载对应操作系统和版本的flink  # 首先确认下Java环境 $ java -version  java version "1.8.0_111" Java( ...

  8. SVG动画实践篇-音量变化效果

    git 地址:https://github.com/rainnaZR/svg-animations/tree/master/src/pages/step2/volumn 说明 这个动画的效果就是多个线 ...

  9. standford情感分析代码开源地址

    http://nlp.stanford.edu/sentiment/code.html

  10. python matplotlib包图像配色方案

    可选的配色方案: Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_ ...