Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/01/2008, 14:46
posman
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 17 años, 1 mes
Puntos: 57
Re: Cerrar EXCEL.exe con javascript

probe tu codigo y me pasa lo mismo, se queda corriendo el proceso EXCEL.EXE

Me encomende a san google y me encontre varias paginas en donde mencionan el mismo problema y dan varias soluciones, pero todas para Visual Basic

http://www.tushar-mehta.com/excel/vba/xl_doesnt_quit/
http://mail.python.org/pipermail/python-list/2003-October/230874.html


Segun ellos se debe ejecutar la funcion QUIT del objeto EXCEL (lo que estas haciendo tu) para que se cierre correctamente, pero ya vimos que no funciona

Pero encontre una solucion "poco elegante". La idea se me ocurrio cuando dijiste esto:

Cita:
Y se supone que con la linea final cierro la aplicación EXCEL.exe.
Pero esto no ocurre, si pulso ctrl+alt+supr y miro en procesos aparece EXCEL.exe.
Si cierro el archivo htm sigue permaneciendo ahí. Si vuelvo a ejecutar el archivo htm se crea un segundo EXCEL.exe. El cual tampoco se cerrará nunca, y así sucesicamente hasta el infinito y mas allá si siguiera abriendo y cerrando el archivo htm.
Desde una pagina (excel.html) abro otra pagina que contiene TU CODIGO (excel2.html). Y en la segunda pagina, agregue el codigo para cerrar esa ventana ( window.close(); ). Y esto me funciono, ya no se queda corriendo el proceso EXCEL.EXE

excel.html

Código:
<html>
<script>
window.open("excel2.html");
</script>
</html>
excel2.html

Código:
<html>
<script>
EXCEL = new ActiveXObject("Excel.Application");
DIR = "c:\\temp\\archivo.xls";
LIBRO = EXCEL.Workbooks.OPEN(DIR,false,false);
HOJA = LIBRO.Worksheets(1);
HOJA.Application.Visible = true;
alert("¿Continuar?");
LIBRO.Close(true);
EXCEL.Application.Quit();
window.close();
</script>
</html>
Prueba y nos avisas si te funciono