> -- Евгений Темиргалеев писал(а):
> Угу. Даже excel.Quit; excel := NIL; Kernel.Collect....Если сделать окно ёкзеля видимым, то Quit видимость убирает, а процесс остается. Может в ББ что-то его держит. Вот только что?

Проблема точно не в BB. Очень давно сталкивался с подобным и под .NET. Правда там эти процессы сами отмирали через некоторое (довольно большое) время. Решилось обертыванием работы с Excel в класс, экземпляр которого создавался локально в теле процедуры:
## Код:
```
//код вне класса ExcelWork
bool result = false;
ExcelWork ew = new ExcelWork(this);
result = ew.GenExcel(gr, ods, GenPaged);
ew = null;
GC.Collect();
return result;
```


Кроме этого в этом классе был метод:
## Код:
```
//метод класса ExcelWork
private void NAR(Object o)
{
        try{
              System.Runtime.InteropServices.Marshal.ReleaseComObject(o);
        }
        finally{
                o = null;
        }
}
```


С помощью которого "добивались" объекты Excel:
## Код:
```
//метод класса ExcelWork
Excel.Application excelApp = null;
Excel.Workbook wbk = null;

try
{
        excelApp = new Excel.Application();
        excelApp.UserControl = false;
        excelApp.DisplayAlerts = false;
        wbk = excelApp.Workbooks.Add(Missing.Value);
...............

        wbk.Close(false,Missing.Value,Missing.Value);
        NAR(wbk);
        excelApp.Quit();
        NAR(excelApp);
        GC.Collect();
        GC.WaitForPendingFinalizers();
}
catch(Exception e)
{
...............
```


Возможно обертывание в класс или NAR были лишними, точно уже не помню. Таже обратите внимание на UserControl и DisplayAlerts.