Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-02-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.474
Poder: 21
newtron Va camino a la fama
Cerrar hoja de Excel

Hola a tod@s.

Actualmente tengo resuelto el tema de exportación y manejo de Excel desde mi programa pero haciendo unos cambios me he dado cuenta de un pequeño "fleco".

En mi programa doy la opción de "Exportar y abrir" o de "Exportar y grabar", en el segundo caso creo el archivo excel, lo grabo, cierro excel y a volar pero en el primero que se abre excel con los datos exportados al cerrar excel se me queda abierta en memoria la hoja y no sé cuando cerrarla porque no puedo hacerlo después de la llamada para abrir el archivo puesto que se abriría y se cerraría de forma automática. ¿Qué pasa? pues que el usuario exporta y abre, maneja la hoja, cierra excel y vuelve al programa pero excel sigue estando abierto en memoria. Necesito ver si hay alguna manera de eliminar esa sesión de la memoria una vez cerrado excel.

¿A Alguien le ha surgido este problema?.

Gracias y un saludo
__________________
Be water my friend.
Responder Con Cita
  #2  
Antiguo 16-02-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Uh, me pasaba lo mismo, en un, gracias a dios en una empresa que pretendian manejar ficheros excel desde el sistema, hasta que por suerte quedaron deprecados y nunca mas. Ni intente darle solucion, pero lo que yo hacia a mano era abrir el admin. de tareas y cerrar los procesos del excel. A lo mejor por ahi va la cosa, fijate si de alguna manera desde el Delphi te deja acceder a la lista de procedicimientos del sistema y cerrarlos (que poder estoy seguro de que se puede, habra que ver el tema de permisos)

A ver si alguien arroja mas luz al asunto
Responder Con Cita
  #3  
Antiguo 16-02-2015
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Código?

Digo, porque cuando uso esta opción que mencionas de abrir Excel con los datos, en el momento en que el usuario cierra la hoja, se libera el proceso. Yo hago algo parecido a esto:

Código Delphi [-]
var
  Excel: OleVariant;
  Libro: OleVariant;
  Hoja: OleVariant;

begin
  // Crear instancia de Excel
  //
  Excel := CreateOleObject('Excel.Application');
  Excel.DisplayAlerts := false;

  // Crear libro de trabajo basado en la plantilla
  //
  Libro := Excel.Workbooks.Open('\ruta\a\la\plantilla.xlt');
  Hoja := Libro.Worksheets[1];

  // Generar el reporte
  //
  GenerarReporte(Hoja);

  // Mostrar excel
  //
  Excel.Visible := true;
end;

// Saludos
Responder Con Cita
  #4  
Antiguo 16-02-2015
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Otra cosa:

El proceso de Excel no terminará hasta que las variables que hacen referencia a los objetos (Excel, Libro, Hoja, en el ejemplo) salgan de alcance, esto es, que temine su vida. Esto sucede de inmediato si dichas variables son locales a la rutina o método que haga el reporte.

// Saludos
Responder Con Cita
  #5  
Antiguo 17-02-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.474
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por roman Ver Mensaje
Otra cosa:

El proceso de Excel no terminará hasta que las variables que hacen referencia a los objetos (Excel, Libro, Hoja, en el ejemplo) salgan de alcance, esto es, que temine su vida. Esto sucede de inmediato si dichas variables son locales a la rutina o método que haga el reporte.

// Saludos
Pues llevas razón, estoy tonto .

Efectivamente el proceso se libera solo cuando salgo del formulario, seguramente se me quedaban abiertos los procesos porque haciendo pruebas iba cortando el programa sin cerrarlo de forma "natural".

Gracias a los dos y un saludo.
__________________
Be water my friend.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Excel - Salto de Hoja shoulder Impresión 7 21-07-2012 00:21:39
Hoja de excel en mi formulario luis1980 C++ Builder 4 23-04-2010 14:30:46
Configurar hoja excel sagarmar Impresión 2 25-10-2006 04:09:30
Hoja Excel via web Nbull Varios 0 02-02-2006 11:11:36
Exportar a excel con mas de 1 hoja Perio Varios 6 25-01-2006 17:03:48


La franja horaria es GMT +2. Ahora son las 23:06:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi