![]() |
![]() |
![]() |
|
Как закрыть 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
|
(4) до кучи http://www.gr13.ru/forum/index.php?showtopic=320
|
|||
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 процесс, другие не затрагиваю.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |