Имя: Пароль:
1C
 
Как закрыть Excel?
0 Aswed
 
10.04.09
11:57
САБЖ, делаю

Ексель.Application.Workbooks.Close();
Ексель.Application.Quit();
Ексель = "";

всё по барабану, в диспетчере задач так и весит процесс.
1 Aprobator
 
10.04.09
12:01
Странно. Кстати, Application нафига? У тебя Ексель - что такое?
2 Aswed
 
10.04.09
12:02
Ексель = Новый COMОбъект("Excel.Application")
может ни к той переменной применяю?:)
3 Aprobator
 
10.04.09
12:03
Applaction в сад.
4 vde69
 
10.04.09
12:03
5 Aprobator
 
10.04.09
12:04
Ексель.Workbooks.Close(0); - чтобы про запсиывать или нет не спрашивал
и Ексель.Quit()
6 vde69
 
10.04.09
12:04
(4)+ от туда

Процедура EXCEL_РазорватьСвязь (Соответстие) Экспорт
   Попытка
       Соответстие["EXCEL"].DisplayAlerts = 0;
       Соответстие["ExcelФайл"].Close();
       Соответстие["EXCEL"].DisplayAlerts = 1;
       Соответстие["EXCEL"].Quit();
       Соответстие["EXCEL"] = Неопределено;
   Исключение
       #Если Клиент Тогда
           Сообщить(ОписаниеОшибки());
       #КонецЕсли
   КонецПопытки;                  
КонецПроцедуры
7 Aprobator
 
10.04.09
12:05
(5) хотя про 0 вру - он не нужен.
8 gr13
 
10.04.09
12:06
9 gr13
 
10.04.09
12:06
Закрываем файл Excel
CODE
ФайлExcel.Quit();
10 Aswed
 
10.04.09
12:07
(3) Не катит:) Вылетает с ошибкой что к тому объекту не применима данная команда
11 Aswed
 
10.04.09
12:09
(6) Что такое соответствие?
12 vde69
 
10.04.09
12:10
(11) по ссылке сходить религия не позволяет?
13 Aprobator
 
10.04.09
12:12
Короче возможная проблема - вопрос записывать файл или нет?

Eксель.DisplayAlerts = 0;
Ексель.Quit();
14 Aswed
 
10.04.09
12:12
(12) Сходил:)
15 Aswed
 
10.04.09
12:14
(13) В точку!
16 Aswed
 
10.04.09
12:14
Спасибо!:)
17 Aswed
 
10.04.09
12:15
(12) спасиб, за подборку, то что нужно:)
18 Aprobator
 
10.04.09
12:15
(15) ну дык - советы товарища vde69 надо читать внимательно :)
19 vde69
 
10.04.09
12:15
(13) правильно так

Eксель.DisplayAlerts = 0;
Ексель.Quit();
Eксель.DisplayAlerts = 1;

по тому как если запущено 2 екземпляра, то будет прико
20 Aprobator
 
10.04.09
12:17
(19) хм - это я не учел. Вернее не сталкивался с этим на практике. Я просто не закрываю свои файлы оптом. А по одному через Close(0)
21 Aswed
 
10.04.09
12:19
(19) Закроет все открытые?
22 Aprobator
 
10.04.09
12:21
(19) а что Ексель - может ссылаться одновременно на два экземпляра?
23 vde69
 
10.04.09
12:49
(22) сколько процессов (не окон) EXEL - может висеть?
24 Torquader
 
10.04.09
13:06
Процессов может быть и более одного, например, если запускать их через CreateProcess, но объект в таблице объектов будет общий (хотя, иногда бывает, что оказываются два разных объекта - если запускать одновременно).
При этом, ссылка будет на один конкретный объект приложения.
(19) После того, как мы вызвали Excel.Quit() ничего уже нельзя вызывать из методов, так как Excel закрывается и можно увидеть ошибку (а можно и не увидеть, если не успеет закрыться). Quit явно завешает OLE-сервер вне зависимости от того, есть ли на него ссылки.
25 Aprobator
 
10.04.09
13:14
(23) процессов то может быть несколько, но я как то считал, что воздействуя на 1 процесс, другие не затрагиваю.
Программист всегда исправляет последнюю ошибку.