21.11.2013, 12:32 | #21 |
Участник
|
Что именно отрабатывает?) У меня после добавления очистки переменной Application вобще события перестали перехватываться... а больше ничего не изменилось.
|
|
21.11.2013, 13:11 | #22 |
Участник
|
у меня по крестику закрывается приложение и процесс пропадает, на передний план Excel не выходит правда.
Какие перехваты событий раз приложение закрывается? |
|
22.11.2013, 07:27 | #23 |
Участник
|
Вы при этом перехват события закрытия делали? Так все работает, если перехват события не делать... если сделать, то приложение уже не закрывается по крестику, только книга... по крайней мере у меня((
|
|
22.11.2013, 11:39 | #24 |
Участник
|
а что вы в перехвате делаете?
|
|
25.11.2013, 07:14 | #25 |
Участник
|
excel::WorkbookBeforeClose(Wb : Automation "Unknown Automation Server.Workbook";VAR Cancel : Boolean)
Wb.Save; Wb.Close(FALSE); CLEAR(Wb); excel.Quit; CLEAR(excel); // сохранение файла ексель в базе IF CONFIRM(Text004) THEN "Const BLOB".IMPORT(TempName,FALSE); |
|
25.11.2013, 11:13 | #26 |
Участник
|
Есть мнение что так делать в этом событии нельзя, т.к. этот код выполняется ДО закрытия книги. Не получиться закрыть приложение пока не закрыта книга.
Не понятно зачем делать еще один close или это другая книга? Скорее всего приложение штатно не закрывается т.к. ждет пока завершится выполнение кода в приведенном тригере. |
|
25.11.2013, 11:48 | #27 |
Участник
|
Логично, что ДО, т.к. событие beforeclose поэтому и книга сама не закрывается, поэтому я и делаю close.
Код полностью отрабатывает, и книга закрывается, но закрытия приложения ексель после этого не происходит. Это если по крестику закрывать) При alt+f4 и событие отрабатывает, и закрывает приложение. |
|
25.11.2013, 12:12 | #28 |
Участник
|
Почему книга не закрывается сама?
На сколько я понимаю механика следующая: - нажимаем крестик на книге/приложении - срабатывает тригер beforeClose, еще при открытой книге позволяет что-нибудь с ней сделать - закрывается книга/приложение зачем еще один сlose? |
|
25.11.2013, 12:32 | #29 |
Участник
|
Ах да, пардоньте) Не могу загрузить файл в базу, пока открыта книга, пишет "файл занят другим приложением". Поэтому самостоятельно закрываю книгу перед этим действием.
|
|
25.11.2013, 14:09 | #30 |
Участник
|
Аксиома такая:
Приложение не закроется пока не отработает тригер BeforClose. Принудительно закрывая книгу, которая уже закрывается, вы ломаете механизм закрытия из-за чего скорее всего перестают работать кнопки. Так как вы хотите это сделать скорее всего не получиться. Создавайте новую книгу, копируя текущую и импортируйте уже ее. |
|