Имя: Пароль:
1C
1С v8
Как завершить процесс exel.exe ?
0 SherifSP
 
15.06.13
11:28
Эксель = Новый COMОбъект("Excel.Application");
   Эксель.Application.Workbooks.Open("D:\Toplivo\Заправки.xls");
   ЛистЭксель = Эксель.WorkSheets(1);

Пытаюсь завершить процесс, но он все равно висит, что не так делаю?
Эксель.WorkBooks(1).Save();
Эксель.WorkBooks(1).Close("Заправки.xls");
Excel.Quit();
1 mikecool
 
15.06.13
11:41
Эксель.WorkBooks(1).Close("Заправки.xls");
Excel.Quit();
найди 5 отличий
2 SherifSP
 
15.06.13
11:43
(1) Там ошибся Эксель.Quit(); тоже не работает
3 SherifSP
 
15.06.13
11:44
+(2) код отработал, но файл висит в процессах
4 Ковычки
 
15.06.13
11:47
отключи алерты
5 SherifSP
 
15.06.13
11:53
Эксель = Новый COMОбъект("Excel.Application");
Эксель.Visible = Ложь;
Эксель.DisplayAlerts = Ложь;  
Book = Эксель.Application.Workbooks.Open("D:\Toplivo\Заправки.xls");
   ЛистЭксель = Эксель.WorkSheets(1);

Book.Save();
Book.Close();
Эксель.Quit();

Тоже самое
6 mikecool
 
15.06.13
11:55
добавь Эксель = "";
7 SherifSP
 
15.06.13
11:57
(6) Или неопределено?
8 SherifSP
 
15.06.13
11:57
Где то на ИТС читай что нужно непоределено присваивать, пробовал, тоже не помогает
9 SherifSP
 
15.06.13
12:00
(6) Добавил, помогло, но я еще и ЛистЭксель = ""; и Book = "";
интересно какой метод помог
10 SherifSP
 
15.06.13
12:03
Спасибо тебе Майк)
11 mikecool
 
15.06.13
14:08
(9) все помогли, по мере инициализации объектов - в обратном порядке их надо деструктировать
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший