先记下来等下要用

 CALL FUNCTION ‘EXCEL_OLE_STANDARD_DAT’      EXPORTING        file_name                       = ‘c:/hehe.dat’*   CREATE_PIVOT                    = 0*   DATA_SHEET_NAME                 = ‘ ‘*   PIVOT_SHEET_NAME                = ‘ ‘*   PASSWORD                        = ‘ ‘*   PASSWORD_OPTION                 = 0      TABLES*   PIVOT_FIELD_TAB                 =        data_tab                        = tab_zdm0002*   FIELDNAMES                      =* EXCEPTIONS*   FILE_NOT_EXIST                  = 1*   FILENAME_EXPECTED               = 2*   COMMUNICATION_ERROR             = 3*   OLE_OBJECT_METHOD_ERROR         = 4*   OLE_OBJECT_PROPERTY_ERROR       = 5*   INVALID_PIVOT_FIELDS            = 6*   DOWNLOAD_PROBLEM                = 7*   OTHERS                          = 8              .  2 本人曾使用VBA编写过工资系统,号称Excel coding 高手,吹牛了不要见笑,哈哈! 你说能将这些改为自动的运行??不知道你对VBA如何,实际上OLE几乎可做到任何你直接操作excel的功能.比如excel copy, paste,格式range border,画图表等.一个例子(想自动将程序修改以下就可以):REPORT Zexcel .*parameters: p_fname like RLGRAP-FILENAMEdefault ‘C:/test.xls’. data: fname like p_fname,kn like sy-repid.data: cnt type i value 0. data: sheetname(10) value ‘TEST ‘,c_row type i,scnt type i,val(20), wb(2). parameters: p_exvis as checkbox default ‘X’,p_workbk(2) type p default ‘01′,p_wsheet(2) type p default ‘01′. CONSTANTS: OK TYPE I value 0.INCLUDE OLE2INCL.DATA: EXCEL TYPE OLE2_OBJECT,WORKBOOK TYPE OLE2_OBJECT,SHEET TYPE OLE2_OBJECT,CELL TYPE OLE2_OBJECT,CELL1 TYPE OLE2_OBJECT,COLUMN TYPE OLE2_OBJECT,RANGE TYPE OLE2_OBJECT,BORDERS TYPE OLE2_OBJECT,button TYPE OLE2_OBJECT,int TYPE OLE2_OBJECT,FONT TYPE OLE2_OBJECT,ROW TYPE OLE2_OBJECT. data: application type ole2_object,book type ole2_object,books type ole2_object.data: ole_book TYPE ole2_object. do p_workbk times.move p_fname to fname.unpack sy-index to wb.replace ‘NN’ with wb into fname.*perform create_EXCEL. * create sheets and saveperform sheet. perform save_book.enddo.write: ‘ Done’. *———————————————————————** form create_excel **———————————————————————** …….. **———————————————————————*form create_excel.CREATE OBJECT EXCEL ‘EXCEL.APPLICATION’. if sy-subrc ne 0.write: / ‘No EXCEL creation possible’.stop.endif. set property of EXCEL ‘DisplayAlerts’ = 0. CALL METHOD OF EXCEL ‘WORKBOOKS’ = WORKBOOK .* Put Excel in backgroundif p_exvis eq ‘X’.SET PROPERTY OF EXCEL ‘VISIBLE’ = 1.else.SET PROPERTY OF EXCEL ‘VISIBLE’ = 0.endif. * Create worksheetset property of excel ‘SheetsInNewWorkbook’ = 1.call method of workbook ‘ADD’. ***如果是open an existed excel, use the following sentence .*CALL METHOD OF WORKBOOK ‘OPEN’ EXPORTING #1 = FNAME .*CALL METHOD OF EXCEL ‘Worksheets’ = SHEET* EXPORTING #1 = 1.endform. *———————————————————————** form save_book **———————————————————————** …….. **———————————————————————*form save_book.get property of excel ‘ActiveSheet’ = sheet.free object sheet.free object workbook. GET PROPERTY OF EXCEL ‘ActiveWorkbook’ = WORKBOOK.call method of workbook ‘SAVEAS’ exporting #1 = p_fname #2 = 1.call method of workbook ‘CLOSE’.call method of excel ‘QUIT’. free object sheet.free object workbook.free object excel.endform. *———————————————————————** form sheet **———————————————————————** …….. **———————————————————————*form sheet. do p_wsheet times.unpack sy-index to sheetname+5(2). if sy-index gt 1.CALL METHOD OF EXCEL ‘WORKSHEETS’ = sheet.call method of sheet ‘ADD’.free object sheet.endif.scnt = sy-index.call method of excel ‘WORKSHEETS’ = SHEET EXPORTING #1 = scnt.call method of sheet ‘ACTIVATE’.SET PROPERTY OF SHEET ‘NAME’ = sheetname.free object sheet. “OK perform fill_sheet.*CALL METHOD OF EXCEL ‘Columns’ = COLUMN.CALL METHOD OF COLUMN ‘Autofit’.free object COLUMN.** call method of sheet ‘BUTTON’ = button.* call method of button ‘ADD’.* set property of button ‘fmButtonstyle’ = 0.* exporting #1 = ‘96.75′ #2 = ‘372′ #3 = ‘123.75′ #4 = ‘12′.* set property of button ‘Characters’ = ‘ButtonTest’. free object button.free object font.free object int.free object cell.free object: cell1.free object range.free object borders.free object: column, row.enddo. free object font.free object int.free object cell.free object cell1.free object range.free object borders.free object column.free object row.free object sheet.endform. *———————————————————————** form border **———————————————————————** …….. **———————————————————————** –> we **———————————————————————*form border using we.*leftcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘1′.set property of borders ‘Linestyle’ = ‘1′.set property of borders ‘WEIGHT’ = we. “4=maxfree object borders.* rightcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘2′.set property of borders ‘Linestyle’ = ‘2′.set property of borders ‘WEIGHT’ = we.free object borders.* topcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘3′.set property of borders ‘Linestyle’ = ‘3′.set property of borders ‘WEIGHT’ = we.free object borders.* bottomcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘4′.set property of borders ‘Linestyle’ = ‘4′.set property of borders ‘WEIGHT’ = we.* set property of borders ‘ColorIndex’ = ‘xlAutomatic’.free object borders.endform. *———————————————————————** form border2 **———————————————————————** …….. **———————————————————————** –> we **———————————————————————*form border2 using we.*leftcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘1′.set property of borders ‘Linestyle’ = ‘5′.set property of borders ‘WEIGHT’ = we. “4=maxfree object borders.* rightcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘2′.set property of borders ‘Linestyle’ = ‘6′.set property of borders ‘WEIGHT’ = we.free object borders.* topcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘3′.set property of borders ‘Linestyle’ = ‘7′.set property of borders ‘WEIGHT’ = we.free object borders.* bottomcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘4′.set property of borders ‘Linestyle’ = ‘8′.set property of borders ‘WEIGHT’ = we.* set property of borders ‘ColorIndex’ = ‘xlAutomatic’.free object borders.endform. *———————————————————————** form border3 **———————————————————————** …….. **———————————————————————** –> we **———————————————————————*form border3 using we.*leftcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘1′.set property of borders ‘Linestyle’ = ‘9′.set property of borders ‘WEIGHT’ = we. “4=maxfree object borders.* rightcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘2′.set property of borders ‘Linestyle’ = ‘10′.set property of borders ‘WEIGHT’ = we.free object borders.* topcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘3′.set property of borders ‘Linestyle’ = ‘11′.set property of borders ‘WEIGHT’ = we.free object borders.* bottomcall method of CELL ‘BORDERS’ = BORDERS exporting #1 = ‘4′.set property of borders ‘Linestyle’ = ‘12′.set property of borders ‘WEIGHT’ = we.* set property of borders ‘ColorIndex’ = ‘xlAutomatic’.free object borders.endform. *———————————————————————** form fill_cell **———————————————————————** …….. **———————————————————————** –> color ** –> pattern **———————————————————————*form fill_cell using color pattern.call method of cell ‘INTERIOR’ = int.set property of int ‘ColorIndex’ = color.set property of int ‘Pattern’ = pattern.free object int.endform. *———————————————————————** form font **———————————————————————** …….. **———————————————————————** –> bold ** –> size **———————————————————————*form font using bold size.call method of CELL ‘FONT’ = font.set property of font ‘BOLD’ = bold.set property of font ‘SIZE’ = size.free object font.endform. *———————————————————————** form fill_sheet **———————————————————————** …….. **———————————————————————*form fill_sheet.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘A1′.perform font using 1 ‘14′.SET PROPERTY OF CELL ‘value’ = ‘Counter’.perform fill_cell using ‘15′ ‘1′.perform border using ‘2′.free object cell. val = ‘Workbook-Count’.move wb to val+16.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘B1′.SET PROPERTY OF CELL ‘value’ = val.perform fill_cell using ‘14′ ‘1′.perform border using ‘4′.free object cell. val = ‘Sheet-Count’.unpack sy-index to val+12.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘C1′.SET PROPERTY OF CELL ‘value’ = val.perform fill_cell using ‘12′ ‘1′.perform border using ‘4′.free object cell. CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘E3′.perform border using ‘1′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘E5′.perform border using ‘2′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘E7′.perform border using ‘3′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘E9′.perform border using ‘4′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘F3′.perform border2 using ‘1′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘F5′.perform border2 using ‘2′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘F7′.perform border2 using ‘3′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘F9′.perform border2 using ‘4′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘G3′.perform border3 using ‘1′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘G5′.perform border3 using ‘2′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘G7′.perform border3 using ‘3′.free object cell.CALL METHOD OF EXCEL ‘RANGE’ = CELL EXPORTING #1 = ‘G9′.perform border3 using ‘4′.free object cell. val = ‘ROW-Count’. do 19 times.c_row = sy-index + 1.unpack c_row to val+12(4).CALL METHOD OF excel ‘CELLS’ = CELL1 EXPORTING #1 = c_row #2 = 2.SET PROPERTY OF CELL1 ‘value’ = val.free object cell1.CALL METHOD OF excel ‘CELLS’ = CELL1 EXPORTING #1 = c_row #2 = 4.SET PROPERTY OF CELL1 ‘value’ = val.free object cell1.enddo.endform.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值