FREE OBJECT excel (no cierra excel)

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • nievesmp
    Member
    • abr
    • 95

    #1

    FREE OBJECT excel (no cierra excel)

    Buenos días, espero alguien pueda saber el motivo de esto.

    Tengo este código, que ejecuta unas macros para un fichero excel, y luego lo cierra.

    * copiamos el fichero excel elegido por el usuario
    CALL METHOD cl_gui_frontend_services=>file_copy
    EXPORTING
    SOURCE = ld_fichero
    DESTINATION = c_copiat
    overwrite = 'X'.
    IF sy-subrc EQ 0.
    * abrimos fichero copia
    CREATE OBJECT h_excel 'EXCEL.APPLICATION'.
    CALL METHOD OF h_excel 'WORKBOOKS' = h_mapl.
    SET PROPERTY OF h_excel 'VISIBLE' = 0.
    ld_copia = c_copiat.
    CALL METHOD OF h_mapl 'OPEN'
    EXPORTING
    #1 = ld_copia.
    CALL METHOD OF h_excel 'ActiveWorkbook' = h_book .
    CALL METHOD OF h_book 'Activesheet' = h_sheet .

    * ejecutamos macro de fichero copia
    CALL METHOD OF h_excel 'RUN'
    EXPORTING
    #1 = 'VolcadoExcel'.

    * cerramos fichero copia
    CALL METHOD OF h_book 'Close'
    EXPORTING
    #1 = 0.
    CALL METHOD OF h_mapl 'CLOSE'
    EXPORTING
    #1 = 0.

    SET PROPERTY OF h_excel 'VISIBLE' = 1.
    FREE OBJECT h_mapl.
    FREE OBJECT h_book.
    FREE OBJECT h_sheet."Libera la hoja
    FREE OBJECT h_excel."Libera la aplicacion (En esta instrucción se cuelga)

    h_excel en este punto contiene:
    HEADER: OBJH
    TYPE: OLE2
    HANDLE: 26


    Hasta ahora, este programa a funcionado siempre y no había habido problema, pero ahora falla al ejecutarlo desde cualquier ordenador.

    He realizado una prueba y he verificado en la lista de tareas que Excel.exe está abierto, si fuerzo este proceso y lo cierro con el sistema operativo, entonces el programa continúa.

    ¿Por qué puede estar ocurriendo esto? Gracias!!!
Trabajando...