*&---------------------------------------------------------------------*
*& Report YCX_021
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YCX_021.
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() TYPE C . DATA GV_OUTER_INDEX LIKE SY-INDEX . DATA GV_INTEX() 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 = . CREATE OBJECT GS_EXCEL 'EXCEL.APPLICATION' . SET PROPERTY OF GS_EXCEL 'Visible' = . GET PROPERTY OF GS_EXCEL 'Workbooks' = GS_WBOOKLIST . GET PROPERTY OF GS_WBOOKLIST 'Application' = GS_APPLICATION . SET PROPERTY OF GS_APPLICATION 'SheetsInNewWorkbook' = . 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 = . "line counter *--Title *--Selecting cell area to be merged. CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# =
# = . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL2
EXPORTING
# =
# = . CALL METHOD OF
GS_EXCEL
'Range' = GS_CELLS
EXPORTING
# = GS_CELL1
# = 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
# = GV_LINE_CNTR
# = . SET PROPERTY OF GS_CELL1 'Value' = 'TITLE' . *--Formatting the title GET PROPERTY OF GS_CELL1 'Font' = GS_FONT . SET PROPERTY OF GS_FONT 'Underline' = . SET PROPERTY OF GS_FONT 'Bold' = . SET PROPERTY OF GS_CELL1 'HorizontalAlignment' = - . GET PROPERTY OF GS_CELL1 'Interior' = GS_INTERIOR . SET PROPERTY OF GS_INTERIOR 'ColorIndex' = . SET PROPERTY OF GS_INTERIOR 'Pattern' = - . SET PROPERTY OF GS_INTERIOR 'PatternColorIndex' = - . GV_LINE_CNTR = GV_LINE_CNTR + . *--Writing some additional data for the title CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# = GV_LINE_CNTR
# = . SET PROPERTY OF GS_CELL1 'Value' = 'Sheet No' . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# = GV_LINE_CNTR
# = . SET PROPERTY OF GS_CELL1 'Value' = ':' . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# = GV_LINE_CNTR
# = . SET PROPERTY OF GS_CELL1 'Value' = GV_INTEX . *--Formatting the area of additional data 1 CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# =
# = . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL2
EXPORTING
# = GV_LINE_CNTR
# = . CALL METHOD OF
GS_EXCEL
'Range' = GS_CELLS
EXPORTING
# = GS_CELL1
# = GS_CELL2. CALL METHOD OF
GS_CELLS
'Select'. GET PROPERTY OF GS_CELLS 'Font' = GS_FONT . SET PROPERTY OF GS_FONT 'Bold' = . *--Formatting the area of additional data 2 CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# =
# = . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL2
EXPORTING
# = GV_LINE_CNTR
# = . CALL METHOD OF
GS_EXCEL
'Range' = GS_CELLS
EXPORTING
# = GS_CELL1
# = 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
# =
# = . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL2
EXPORTING
# = GV_LINE_CNTR
# = . CALL METHOD OF
GS_EXCEL
'Range' = GS_CELLS
EXPORTING
# = GS_CELL1
# = GS_CELL2. CALL METHOD OF
GS_CELLS
'Select'. CALL METHOD OF
GS_CELLS
'BorderAround' EXPORTING
# = "continuous line
# = . "thick *--Putting axis labels GV_COLNO = . GV_LINE_CNTR = GV_LINE_CNTR + . GV_LINNO = GV_LINE_CNTR - . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# = GV_LINNO
# = . SET PROPERTY OF GS_CELL1 'Value' = 'X' . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# = GV_LINE_CNTR
# = . SET PROPERTY OF GS_CELL1 'Value' = 'Y' . *--Generating some data DO TIMES . GV_VALUE = GV_OUTER_INDEX * SY-INDEX * . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# = GV_LINNO
# = GV_COLNO. SET PROPERTY OF GS_CELL1 'Value' = SY-INDEX . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# = GV_LINE_CNTR
# = GV_COLNO. SET PROPERTY OF GS_CELL1 'Value' = GV_VALUE . GV_COLNO = GV_COLNO + . ENDDO . *--Source data area GV_COLNO = GV_COLNO - . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# = GV_LINNO
# = . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL2
EXPORTING
# = GV_LINE_CNTR
# = GV_COLNO. CALL METHOD OF
GS_EXCEL
'Range' = GS_CELLS
EXPORTING
# = GS_CELL1
# = 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' = '' . "Vertical bar graph CALL METHOD OF
GS_CHART
'SetSourceData' EXPORTING
# = GS_CELLS
# = . SET PROPERTY OF GS_CHART 'HasTitle' = . 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
# = GV_SHEET_NAME. CALL METHOD OF
GS_ACTIVESHEET
'Activate'. CALL METHOD OF
GS_CHART
'Location' EXPORTING
# =
# = 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 + . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL1
EXPORTING
# = GV_LINE_CNTR
# = . CALL METHOD OF
GS_EXCEL
'Cells' = GS_CELL2
EXPORTING
# = GV_LINE_CNTR
# = . CALL METHOD OF
GS_EXCEL
'Range' = GS_CELLS
EXPORTING
# = GS_CELL1
# = 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 DEMO ole示例程序的更多相关文章

  1. SAP demo包 示例程序

    在SAP的这个开发类中SABAPDEMOS,存放了N多的demo程序 有空的时候,可以看看.

  2. 小程序-demo:小程序示例-page/api

    ylbtech-小程序-demo:小程序示例-page/api 以下将演示小程序接口能力,具体属性参数详见小程序开发文档. 1. page/component返回顶部 1. a) .js Page({ ...

  3. 小程序-demo:小程序示例-page/component2

    ylbtech-小程序-demo:小程序示例-page/component2 以下将展示小程序官方组件能力,组件样式仅供参考,开发者可根据自身需求自定义组件样式,具体属性参数详见小程序开发文档. 1. ...

  4. 小程序-demo:小程序示例-page/component

    ylbtech-小程序-demo:小程序示例-page/component 以下将展示小程序官方组件能力,组件样式仅供参考,开发者可根据自身需求自定义组件样式,具体属性参数详见小程序开发文档. 1. ...

  5. 小程序-demo:小程序示例-page/common

    ylbtech-小程序-demo:小程序示例-page/common 1.返回顶部 0.     1. 2. pages/common返回顶部 1. -lib --weui.wxss /*! * we ...

  6. 小程序-demo:小程序示例

    ylbtech-小程序-demo:小程序示例     1.返回顶部 0. 1.app.js const openIdUrl = require('./config').openIdUrl App({ ...

  7. 【ABAP系列】SAP ABAP解析XML的示例程序

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP解析XML的示例 ...

  8. BitCoinJ之Hello World示例程序

    简介 比特币(BitCoin)是一种基于区块链(BlockChain)技术的数字化货币. 本文介绍了使用基于Java语言的BitCoinJ API实现一个简单的收取和支付比特币的示例程序. 开发环境 ...

  9. zigbee学习:示例程序SampleApp中通讯流程

    zigbee学习:示例程序SampleApp中通讯流程 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考链接: http://wjf88223.bl ...

随机推荐

  1. 从GITHUB下载源码

    从昨天开始就想着从GitHub上下载一个开源的Vue的实战项目,希望能从中学习更多的Vue的实用内容,结果搞了半天好不容易下载了,不知道怎么弄.然而,今天终于成功了,激动地我赶紧来记录一下. 如何从G ...

  2. Javaweb学习笔记(一)

    一.javaweb学习是所需要的细节 1.发送响应头相关的方法 1).addHeader()与setHeader()都是设置HTTP协议的响应头字段,区别是addHeader()方法可以增加同名的响应 ...

  3. CF463D Gargari and Permutations dp

    给定 $n<=10$ 个 $1$~$n$ 的排列,求这些排列的 $LCS$. 考虑两个排列怎么做:以第一个序列为基准,将第二个序列的元素按照该元素在第一个序列中出现位置重新编号. 然后,求一个 ...

  4. Error Codes Messages查找工具介绍

    当我们通过各种手段获取到一个Windows错误码后,如何获取对应的错误消息呢?有两种方法:一是用编程的手段(FormatMessage):其二是用现成的工具.第一种方法一般在我们编码的时候有用,而更多 ...

  5. [c++11]右值引用、移动语义和完美转发

    c++中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能.有点难理解,于是花时间整理一下自己的理解. 左值.右值 C++中所有的值都必然属于左值.右值二者之一.左值是指表达式结束后依然存在的 ...

  6. Springboot如何优雅的解决ajax+自定义headers的跨域请求[转]

    1.什么是跨域 由于浏览器同源策略(同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.),凡是发 ...

  7. 基于verilog的分频器设计(奇偶分频原理及其电路实现:上)

    在一个数字系统中往往需要多种频率的时钟脉冲作为驱动源,这样就需要对FPGA的系统时钟(频率太高)进行分频.分频器主要分为奇数分频,偶数分频,半整数分频和小数分频,在对时钟要求不是很严格的FPGA系统中 ...

  8. 洛谷 P3143 [USACO16OPEN]钻石收藏家Diamond Collector 题解

    P3143 [USACO16OPEN]钻石收藏家Diamond Collector 题目描述 Bessie the cow, always a fan of shiny objects, has ta ...

  9. Error instantiating class cn.edu.zju.springmvc.pojo.Items with invalid types () or values (). 报错解决方法

    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflecti ...

  10. C Primer Plus--C存储类、链接和内存管理之存储类(storage class)

    目录 存储类 作用域 链接 存储时期 自动变量 寄存器变量 具有代码块作用域的静态变量 具有外部链接的静态变量 extern关键字 具有内部链接的静态变量 多文件 存储类 C为变量提供了5种不同的存储 ...