Вот работающий пример:
Code:
REPORT z_excel_enable .
PARAMETERS: p_fname(128) OBLIGATORY.
TYPE-POOLS: ole2.
DATA: application TYPE ole2_object,
workbook TYPE ole2_object,
book type ole2_object,
range TYPE ole2_object,
worksheet TYPE ole2_object,
e_col TYPE ole2_object.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
PERFORM f4_path USING p_fname.
END-OF-SELECTION.
CREATE OBJECT application 'Excel.Application'.
IF sy-subrc <> 0.
MESSAGE e208(00) WITH 'Облом c вызовом EXCEL'.
ENDIF.
CALL METHOD OF application 'Workbooks' = workbook.
IF sy-subrc <> 0.
MESSAGE e208(00) WITH 'Облом с WORKBOOK'.
ENDIF.
CALL METHOD OF workbook 'Open' = book EXPORTING #1 = p_fname.
IF sy-subrc <> 0.
MESSAGE e208(00) WITH 'Облом с открытием файла'.
ENDIF.
* SET PROPERTY OF application 'Visible' = 0.
GET PROPERTY OF application 'ActiveSheet' = worksheet.
GET PROPERTY OF worksheet 'Cells' = range.
GET PROPERTY OF range 'EntireColumn' = e_col.
SET PROPERTY OF e_col 'Hidden' = 0.
CALL METHOD OF book 'Save'.
CALL METHOD OF application 'Quit'.
FREE OBJECT: e_col, range, worksheet, book, workbook, application.
CLEAR: e_col, range, worksheet, book, workbook, application.
*&---------------------------------------------------------------------*
*& Form f4_path
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_PATH text
*----------------------------------------------------------------------*
FORM f4_path USING p_path TYPE c.
DATA: gt_path TYPE filetable
, gs_path LIKE file_table
, p_rc TYPE i
, str TYPE string
.
str = 'Выбор xls-файла'(010).
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = str
default_extension = 'XLS'
initial_directory = 'C:'
CHANGING
file_table = gt_path
rc = p_rc.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
READ TABLE gt_path INTO gs_path INDEX 1.
p_path = gs_path-filename.
ENDFORM. " f4_path