Добрый день. Столкнулся с такой проблемой. В скрипте в фоновом режиме открываю экселевский документ:

        var Excel = new ActiveXObject('Excel.Application');
                var Workbook = Excel.Workbooks.Open(FilePath);

При его закрытии:
        Excel.Application.Quit();
        Excel = '';

Приложение закрывается, но в системе остается висеть процесс EXCEL.EXE.
Как его можно удалить?Заранее спасибо за ответы.

Нравится

6 комментариев

Попробуйте добавить

Excel = System.EmptyValue;
CollectGarbage();

помогло

try{
	setTimeout(CollectGarbage(),1);
}
catch (e){
 
}

Тема закрыта.

не помогло(( CollectGarbage() тоже не чистит!Валерий, делал как вы написали..

Обычно мы используем такой блок, должен работать:

	var ExcelApplication = new ActiveXObject('Excel.Application');
	var WorkBook = ExcelApplication.WorkBooks.Open('имя файла');
	var Sheet = WorkBook.ActiveSheet;
	try
	{
             // тут код
	}
	finally
	{
		Sheet = null;
		WorkBook = null;
		ExcelApplication.Quit();
		ExcelApplication = null;
                CollectGarbage() ;
	}

Здравствуйте, Антон.

Уточните, пожалуйста, вопрос решен?

Да, решен. Спасибо!

Показать все комментарии