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