|  | Убить процесс EXCEL.EXE через com | ☑ | 
    
        | 0
    
        Tateossian   08.05.14✎ 11:55 | 
        Господа! Делаю вот так (Excel - com-сервер экселя):
 Если Excel <> Неопределено Тогда
 
 Excel.Application.Quit();
 
 Excel = Неопределено;
 
 КонецЕсли;
 
 Excel так и остается в процессах. ЧЯДНТ?
 |  | 
    
        | 1
    
        Сергиус   08.05.14✎ 11:59 | 
        (0) Возможно это тот процесс, который был открыт до этого..     |  | 
    
        | 2
    
        Чайник Рассела   08.05.14✎ 12:00 | 
        Excel.DisplayAlerts = 0; 
Excel.Quit();
 |  | 
    
        | 3
    
        Сергиус   08.05.14✎ 12:00 | 
        +(1)Поубивай все вручную..и проверь еще раз)     |  | 
    
        | 4
    
        koreav   08.05.14✎ 12:00 | 
        ExcelApplication.Application.Quit();                 
ExcelApplication = Неопределено;
 
 COMОбъект = ПолучитьCOMОбъект(ПутьКФайлу);
 COMОбъект.Close();
 |  | 
    
        | 5
    
        Tateossian   08.05.14✎ 12:15 | 
        (3) Юзер жалуется, что это неудобно (у него несколько экселей может быть запущено и может кильнуть нужный). А так, я предложил:3     |  | 
    
        | 6
    
        Tateossian   08.05.14✎ 12:16 | 
        (1) Я на одном тестировал процессе.     |  | 
    
        | 7
    
        Tateossian   08.05.14✎ 12:25 | 
        (4) Ха, прикольно. Выдает предупреждение "Сервер занят": действие не может быть завершено, так как другая программа занята...     |  | 
    
        | 8
    
        Tateossian   08.05.14✎ 12:37 | 
        Комрады, нужна подсказка куда копать.     |  | 
    
        | 9
    
        Сергиус   08.05.14✎ 12:50 | 
        (8) вообщем тебе надо сделать неопределенным не только само СOM соединение, но и все объекты, которые ты получал через него. Пример:
 Попытка
 Коннектор = Новый COMОбъект("V82.COMConnector");
 Соединение = Коннектор.Connect("Usr=Имя;Pwd=Пароль;Srvr=Сервер;Ref=база;");
 
 Исключение
 Сообщить(ОписаниеОшибки());
 КонецПопытки;
 Запрос = Соединение.NewObject("Запрос");
 
 Чтобы все прибить, надо:
 
 Запрос = "";
 Коннектор = "";
 
 Именно в таком порядке... Сначала все объекты, которые создал через COM, в самом конце Коннектор
 |  | 
    
        | 10
    
        Maxus43   08.05.14✎ 12:57 | 
        Excel.Application юзаешь же? юзай COMConnector     |  |