ABAP DEMO ole示例程序
*&---------------------------------------------------------------------*
*& 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示例程序的更多相关文章
- SAP demo包 示例程序
在SAP的这个开发类中SABAPDEMOS,存放了N多的demo程序 有空的时候,可以看看.
- 小程序-demo:小程序示例-page/api
ylbtech-小程序-demo:小程序示例-page/api 以下将演示小程序接口能力,具体属性参数详见小程序开发文档. 1. page/component返回顶部 1. a) .js Page({ ...
- 小程序-demo:小程序示例-page/component2
ylbtech-小程序-demo:小程序示例-page/component2 以下将展示小程序官方组件能力,组件样式仅供参考,开发者可根据自身需求自定义组件样式,具体属性参数详见小程序开发文档. 1. ...
- 小程序-demo:小程序示例-page/component
ylbtech-小程序-demo:小程序示例-page/component 以下将展示小程序官方组件能力,组件样式仅供参考,开发者可根据自身需求自定义组件样式,具体属性参数详见小程序开发文档. 1. ...
- 小程序-demo:小程序示例-page/common
ylbtech-小程序-demo:小程序示例-page/common 1.返回顶部 0. 1. 2. pages/common返回顶部 1. -lib --weui.wxss /*! * we ...
- 小程序-demo:小程序示例
ylbtech-小程序-demo:小程序示例 1.返回顶部 0. 1.app.js const openIdUrl = require('./config').openIdUrl App({ ...
- 【ABAP系列】SAP ABAP解析XML的示例程序
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP解析XML的示例 ...
- BitCoinJ之Hello World示例程序
简介 比特币(BitCoin)是一种基于区块链(BlockChain)技术的数字化货币. 本文介绍了使用基于Java语言的BitCoinJ API实现一个简单的收取和支付比特币的示例程序. 开发环境 ...
- zigbee学习:示例程序SampleApp中通讯流程
zigbee学习:示例程序SampleApp中通讯流程 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考链接: http://wjf88223.bl ...
随机推荐
- win10 安装python模块objgraph+PyCharm环境配置
1. 打开win10的命令行窗口 2.在命令行中输入python -m pip install objgraph,系统会自动帮忙安装 3.安装完成后,可以用命令python -m pip list查看 ...
- 如何识别和解决SQL Server中的热闩锁(PAGELATCH_EX)
描述 在SQL Server中,内部闩锁体系结构可在SQL操作期间保护内存.通过页面上的读写操作,可以确保内存结构的一致性.从根本上讲,它具有两个类:缓冲区锁存器和非缓冲区锁存器,它们在SQL Eng ...
- Kubernetes 学习13 kubernetes pv pvc configmap 和secret
一.概述 1.我们在pvc申请的时候未必就有现成的pv能正好符合这个pvc在申请中指定的条件,毕竟上一次的成功是我们有意设定了有一些满足有一些不满足的前提下我们成功创建了一个pvc并且被pod绑定所使 ...
- Kubernetes 学习12 kubernetes 存储卷
一.概述 1.我们此前讲过根据应用本身是否需要持久存储数据以及某一次请求和之前的请求是否有联系,可以分为四类应用 a.有状态,要存储 b.有状态,无持久存储 c.无状态,要存储 d.无状态,无持久存储 ...
- html5 打开摄像头
<video onloadedmetadata="" id="inputVideo" style="width: 1080px;height: ...
- 2017.10.3 国庆清北 D3T2 公交车
题目描述 LYK在玩一个游戏. 有k群小怪兽想乘坐公交车.第i群小怪兽想从xi出发乘坐公交车到yi.但公交车的容量只有M,而且这辆公交车只会从1号点行驶到n号点. LYK想让小怪兽们尽可能的到达自己想 ...
- 【一起来烧脑】一步学会CSS3体系
[外链图片转存失败(img-yfi1VPyy-1563434266398)(https://upload-images.jianshu.io/upload_images/11158618-fc8784 ...
- lp3676 小清新数据结构题
传送门 Description 有一棵\(n\)个点的树,每个点有一个点权. 现在有\(q\)次操作,每次操作是修改一个点的点权或指定一个点,询问以这个点为根时每棵子树点权和的平方和. Solutio ...
- 加入购物车的功能wepy
1.先有一个加入购物车的按钮 <view wx:if="{{(detaildata.boughtNum < detaildata.buy_limit) && de ...
- html转图片/html2canvas的使用/星座测试/类似于损友圈的活动
https://try.fishqc.com/Activity/constellation ---成品 电脑上录的gif 有借鉴的链接,很多,下面这个还不错~先别看,尊重下我先~~~~ https:/ ...