|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Есть такая проблема. При работе программа использует объект Excel для загрузки данных из книг Excel. Код Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Хотя я делаю и Close и Nothing процесс Excel всё равно остаётся в памяти. Чтоб его снять надо закрыть программу. А это неудобно. Есть ли способ снять процесс из программы VBA? Понимаю, что тут надо использовать системные вещи, но в этом я не силён. ------------------------------------------------------------- А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2015, 17:04 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2015, 17:30 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
XL.Quit ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2015, 17:33 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Joss, Nothing - вы освобождаете место на диске, зарезервированное (объектной) переменной; Close - то ли прекращаете (под)процесс ресурса, взятого непосредственно в Access из Excell, то ли напрямую экземпляра Excell (точно не помню). Собственно Excell - это исполняющийся программный код, - то есть (основной) процесс, стоящий в очереди на исполнение. Чтобы вообще не было процессов Excell - то да: авторXL.Quit ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2015, 23:28 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Ну то есть закрывать программу, которая, если открыта, - то это по любому процесс ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2015, 23:31 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Буду проверять. Но только в понедельник. Программа на работе. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2015, 23:35 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
JossКод Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Логика этого кусочка кода показалась мне довольно странной. Может оно на самом деле всё проще (а может и показалось :) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2015, 00:10 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
nord-woolf, Наверно да... nord-woolfXL.Quit А то я такую ссылку дал, что если тупо Notepad.exe поменять на EXCEL.EXE то у всей конторы закроется эксель... во прикол будет... нужно будет де нить юзнуть втихаря в людном месте... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2015, 00:21 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Обломс. Вставил XL.Quit - ничего не получилось.. Код: vbnet 1. 2. 3. 4.
Процесс по прежнему висит в системе плак...плак... плак... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2015, 10:05 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Закрываю полностью задачу вместе с Access. Процесс всё равно висит в списке... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2015, 10:09 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Joss, Вот тут тоже была похожая проблема http://club.directum.ru/post/Postroenie-otchjotov-Reshenie-problemy-s-zavisaniem-processov-Excel.aspx Странно, че-то я не смог зайти как обычно на форум, пришлось с заду... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2015, 11:24 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
guest_rusimportJossКод Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Логика этого кусочка кода показалась мне довольно странной. Может оно на самом деле всё проще (а может и показалось :) ) Действительно, зачем эти телодвижения со снятием защиты? Файл то не сохрняется, а то что в процессе висит ни как не используется в DoCmd. Хотя... может не весь код приведён... Предложение. Написать весь код с объявлением объектов и приведением типов. Потом уже сократить и отключить... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2015, 11:39 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
\\\\guest_rusimportпропущено... Логика этого кусочка кода показалась мне довольно странной. Может оно на самом деле всё проще (а может и показалось :) ) Действительно, зачем эти телодвижения со снятием защиты? Файл то не сохрняется, а то что в процессе висит ни как не используется в DoCmd. Хотя... может не весь код приведён... Предложение. Написать весь код с объявлением объектов и приведением типов. Потом уже сократить и отключить...Я просто дорабатываю чужую программу. Разработчик указал снятие защиты и я его оставил. Я не проверял, как данные будут считываться при установленной защите. Возможно, что она ни на что и не влияет. А может и влияет. Нужна проверка. Сейчас произведу. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2015, 14:51 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Убийство: яваскриптик Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2015, 15:06 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Joss\\\\пропущено... Действительно, зачем эти телодвижения со снятием защиты? Файл то не сохрняется, а то что в процессе висит ни как не используется в DoCmd. Хотя... может не весь код приведён... Предложение. Написать весь код с объявлением объектов и приведением типов. Потом уже сократить и отключить...Я просто дорабатываю чужую программу. Разработчик указал снятие защиты и я его оставил. Я не проверял, как данные будут считываться при установленной защите. Возможно, что она ни на что и не влияет. А может и влияет. Нужна проверка. Сейчас произведу. Может отказаться от DoCmd.TransferSpreadsheet acImport и заменить его на CopyFromRecordset ? Есть подозрение, что проблема именно в совместном использовании. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2015, 17:26 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
osmorМожет отказаться от DoCmd.TransferSpreadsheet acImport и заменить его на CopyFromRecordset ? Есть подозрение, что проблема именно в совместном использовании.Попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2015, 17:30 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
JossКод Код: vbnet 1. 2. 3.
А если попробовать открыть с параметром только для чтения ReadOnly ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2015, 17:48 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Конечно лучше правильно закончить работу макроса, чем применять костыли. Но бывает, что и без костылей никак... Поэтому, мож пригодиться: 1. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
2. Код: vbnet 1. 2. 3. 4.
Ну и чуть для других потребностей: 3. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 15:33 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Прогер_самоучкаА если попробовать открыть с параметром только для чтения ReadOnly ? Не влияет. Пока тупо прицепил перед выходом из подпрограммы Код: vbnet 1.
Если открыто несколько процессов Excel, то вырубаются все. Надо или предупреждать пользователей об этой особенности, либо попробовать узнать PID создаваемого процесса и убивать конкретно его. Это костыли и как образец программирования не годится. Меня просто загнали в угол сроками. Но разобраться надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 15:53 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Joss, совет на авось, но вдруг. Завершить "все дела" с объектом и только потом Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 17:46 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
JossОбломс. Вставил XL.Quit - ничего не получилось.. Код: vbnet 1. 2. 3. 4.
Процесс по прежнему висит в системе плак...плак... плак... Вызванный вами процесс вы закрыли (это легко проверить, справляясь в диспетчер задач). Возможно, висят другие аналогичные: автозагрузку, планировщик не смотрели? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 23:14 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 08:38 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
гурДJossОбломс. Вставил XL.Quit - ничего не получилось.. Код: vbnet 1. 2. 3. 4.
Процесс по прежнему висит в системе плак...плак... плак... Вызванный вами процесс вы закрыли (это легко проверить, справляясь в диспетчер задач). Возможно, висят другие аналогичные: автозагрузку, планировщик не смотрели?он, он... была такая же история. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 09:38 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Прогер_самоучкаJoss, совет на авось, но вдруг. Завершить "все дела" с объектом и только потом Код: vbnet 1.
Стоит попробовать. Но уже на следующей неделе. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2015, 14:36 |
|
Можно ли из программы Access снять процесс?
|
|||
---|---|---|---|
#18+
Прогер_самоучкаJoss, совет на авось, но вдруг. Завершить "все дела" с объектом и только потом Код: vbnet 1.
Зацепило. Отложил всё и засел за проверку. Результаты проверки Если использовать команду Код: vbnet 1.
после того, как закрыт объект Excel, то всё проходит на ОТЛИЧНО !!! Вешал программу, аналогичную диспетчеру задач поверх всех окон запускал свою подпрограмму сначала пошагово, а потом без остановок. Хорошо видно, как сначала появляется процесс, а потом удаляется. Прокрутил раз 5 со всеми вариантами. Всё закрывается. Отсюда вывод: При открытом объекте Excel нельзя использовать команды импорта и экспорта данных из Excel-файлов. (Ну про экспорт я уже написал без проверки. Хотя аналогичная ситуация есть и там. Надо проверить, но пока не доходят руки.) Большое спасибо Прогеру за идею! Примечание. Наличие защиты на листе Excel не влияет на возможность импорта информации оператором DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9 в базу данных ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2015, 15:06 |
|
|
start [/forum/topic.php?fid=45&msg=38853766&tid=1611137]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
134ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 237ms |
0 / 0 |