|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
Уважаемый форум, Пошерстил в инете, но вразумительного ничего не нашел. Задача простая: при подвисании Экселя необходимо закрыть подвисший файл в манагере задач из Access VBA. Пока нашел только Код: sql 1.
. Но встает задача определения ВСЕХ открытых экземпляров Excel независимо от имени открытого файла. Как это сделать? Другими словами: необходимо проверить, есть ли открытые задачи Excel и закрыть их taskkill-ом. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 14:34 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
IFK, 1. Кто и как определяет что приложение повисло? 2. Озвучте пример такой ситуации... 3. Если есть "taskkill" то как его запускать? bat файл? Скрипт?? По какому событию?? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 14:46 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
IFKУважаемый форум, Пошерстил в инете, но вразумительного ничего не нашел. Задача простая: при подвисании Экселя необходимо закрыть подвисший файл в манагере задач из Access VBA. Пока нашел только Код: sql 1.
. Но встает задача определения ВСЕХ открытых экземпляров Excel независимо от имени открытого файла. Как это сделать? Другими словами: необходимо проверить, есть ли открытые задачи Excel и закрыть их taskkill-ом. Спасибо! Через API находишь процесс и убиваешь его ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 14:54 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
ROI, отлично, пожалуйста, можно подробности? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 14:58 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
yoichi730, пример: приложение осуществляло запись в Эксель, произошел сбой и приложение принудительно завершило запись по Error, но файл остался открытым. При попытке повторить запись в файл, его открытый экземпляр блокирует попытку. Его нужно принудительно закрыть через менеджер процессов. Это я и пытаюсь сделать из кода. Запуск taskkill осуществляется через Shell. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 15:00 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
может причину лечить? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 15:05 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
Если ты заполняешь Excel из Access через com объект Excel, то сделай ему просто... Код: vbnet 1.
А вот как победить диалоговое окно "Сохранить изменения ?" в открытом сгенерированном файле, ищи сам (мне лениво гуглить), все через объект делается.. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 15:23 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
yoichi730, спасибо, это и так понятно. Как определить, открыт ли хоть один такой объект, вот в чем вопрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 15:25 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
Панург, пробую через обработку ошибок с принудительным закрытием, но не уверен, что получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 15:25 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
Не понимаю.. Есть процедура заполнения файла, если всплывает ошибка в процессе, то GoTo OyBlyaChotoNeTo Код: vbnet 1. 2.
Все. Профит! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 15:35 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
IFKКак определить, открыт ли хоть один такой объект, вот в чем вопрос? Код: vbnet 1.
и ловишь ошибку. Если ее нет (есть открытый Ёксель), то objXlApp.Quit Вы выгружаете в существующий файл или создаете новый? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 15:35 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
спасибо всем, реализовал так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 16:20 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
yoichi730, угу, так и сделал ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 16:21 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
в общем случае Excel.Quit совсем не гарантия закрытия приложения. Если там например модальное окно всплыло (каконить макрос OnClose отрабатывает в книге или в надстройке экселя например), или api-вызовы есть, - то на .Quit вы и зависните. Поэтому надёжно только через API (с ожиданием завершения убивания процесса). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 17:43 |
|
Закрыть повисшую задачу/открытый файл Excel
|
|||
---|---|---|---|
#18+
Сталкивался с таким случаем. Например, при записи данных в файл Excel. Писал по очереди в несколько файлов в цикле. Всё это выполнялось в подпрограмме. После закрытия подпрограммы Excel оставался висеть в памяти. При следующей попытке запустить подпрограмму начинали сыпаться ошибки обращения к ячейкам листа Excel. Лечилось полной перезагрузкой программы. Вот здесь Можно ли из программы Access снять процесс? И вот здесь Принудительное закрытие приложений одно из решений. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2019, 09:14 |
|
|
start [/forum/topic.php?fid=45&msg=39785479&tid=1610805]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 327ms |
total: | 441ms |
0 / 0 |