PARAMETERS: p_file TYPE fileintern,
p_visi TYPE xfeld.
DATA: o_excel TYPE ole2_object,
o_libro TYPE ole2_object,
o_hoja TYPE ole2_object,
o_celda TYPE ole2_object.
**********************************************************************
*** APERTURA DEL ARCHVIO EXCEL
**********************************************************************
* Crear objeto Excel
CREATE OBJECT o_excel 'EXCEL.APPLICATION'.
IF sy-subrc NE 0.
* MESSAGE e???(??) WITH 'No es posible crear el objeto'.
ENDIF.
* No visualizar alertas
SET PROPERTY OF o_excel 'DisplayAlerts' = 0.
* Visibilidad
IF p_visi IS INITIAL.
SET PROPERTY OF o_excel 'Visible' = 0.
ELSE.
SET PROPERTY OF o_excel 'Visible' = 1.
ENDIF.
CALL METHOD OF o_excel 'Workbooks' = o_libro.
CALL METHOD OF o_libro 'Open'
EXPORTING
#1 = p_file.
CALL METHOD OF o_excel 'WorkSheets' = o_hoja
EXPORTING #1 = 1.
CALL METHOD OF o_hoja 'Activate'.
**********************************************************************
*** MODIFICACIONES/AÑADIDOS EN EL ARCHIVO EXCEL
**********************************************************************
* Modificamos el archivo
CALL METHOD OF o_excel 'Range' = o_celda
EXPORTING #1 = 'A1'.
SET PROPERTY OF o_celda 'Value' = sy-uzeit.
FREE OBJECT o_celda.
**********************************************************************
*** GUARDADO Y CIERRE DEL ARCHVIO EXCEL
**********************************************************************
* Guardar el archivo
CALL METHOD OF o_hoja 'SaveAs'
EXPORTING
#1 = p_file
#2 = 61. "Formato XLSX
CALL METHOD OF o_libro 'Close'.
FREE OBJECT o_hoja.
FREE OBJECT o_libro.
CALL METHOD OF o_excel 'Quit'.
FREE OBJECT o_excel.