|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Такая проблема.После работы с Excel файлами в процессах незавершенным остается Excel.EXE до тех пор пока не закроешь access. При этом после выполнения скажем такого кода: Set AppExcel = CreateObject("Excel.Application") AppExcel.Application.Workbooks.Open "xxxxxx.xls" ................................................. AppExcel.Application.Quit AppExcel.Application.Workbooks.Close если попробовать открыть любой xls файл, excel подвисат, пока не закроешь access и вручную не уберешь подвисший процесс Excel.exe Кто-нибудь знает что с этим можно сделать? Что-то еще должно быть кроме quit и close? Заранее спасибо... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 15:28 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
nalbat... Set AppExcel = CreateObject("Excel.Application") AppExcel.Application.Workbooks.Open "xxxxxx.xls" ................................................. AppExcel.Application.Quit AppExcel.Application.Workbooks.Close Set AppExcel = Nothing ... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 15:55 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
местами последние две строки для начала ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 15:55 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Тут еще попробуйте поменять местами две строки, в итоге будет: nalbat... Set AppExcel = CreateObject("Excel.Application") AppExcel.Application.Workbooks.Open "xxxxxx.xls" ................................................. AppExcel.Application.Workbooks.Close AppExcel.Application.Quit Set AppExcel = Nothing ... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 16:00 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Ни Set AppExcel = Nothing ,ни перемена мест не помогает :( ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 16:00 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
проблема в том коде, который не показан ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 16:02 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Все равно в процессах ексель висит и закрывается(давая возможность открывать екселевские файлы) только при закрытии access... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 16:03 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Да там можно никакого кода и не писать.... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 16:03 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
nalbatДа там можно никакого кода и не писать.... значит нужно и не писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 16:04 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
nalbat... Set AppExcel = CreateObject("Excel.Application") AppExcel.Application.Workbooks.Open "xxxxxx.xls" ................................................. ' Вместо: AppExcel.Application.Workbooks.Close ' Использовать: call AppExcel.Application.Workbooks(strWorkBookName).Close(SaveChanges:=False) 'Или call AppExcel.Application.Workbooks(strWorkBookName).Close(SaveChanges:=True) ... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 16:05 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Виноват, дело действительно в ненописанном коде...буду разбираться...спасибо... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 16:07 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
неописанном ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 16:07 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Нашел место, которое "портит" дело. Причина в использовании ActiveCell(в любых вариациях).Только вот почему и что с этим делать... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 16:57 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Для чего используется "ActiveCell(в любых вариациях)"? Покажите наконец кусок кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 17:00 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
лостаточно вот вставить,скажем, хотя бы такой кусок With ActiveCell.Font .Bold = True .Italic = True End With ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 17:02 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
об этом много-много раз писали и в хелпе тоже nalbatлостаточно вот вставить,скажем, хотя бы такой кусок With ActiveCell.Font .Bold = True .Italic = True End With не указан объект, к которому должен быть применен ActiveCell кроме всего прочего, "по правилам", ваш код должен вообще валиться при втором проходе. во всяком случае может ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 17:07 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Спсибо With ObjectName.ActiveCell.Font .Bold = True .Italic = True End With решило проблему... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 17:15 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Была аналогичная проблема. Тоже добавил в код эксель ObjectName и макрос аксеса заработал, но теперь перестал работать экселевский код: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Цитата коллег с форума по эксель: авторActiveCell - это активная ячейка. Она в книге одна, и расположена всегда на активном листе. Добавление чего-либо, ничего, кроме ошибки, не даст. В вашем коде ObjectName - это не что-либо из языка VBA, а просто произвольная переменная. Что-то я запутался (( ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 11:12 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Leprottoперестал работать экселевский кодИ где же он расположен, этот код? в модуле Access? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 11:17 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Akina, нет. В файле эксель, который открывает код акса: Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 11:22 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Вот позвольте спросить - если Вы открываете файл как Код: vbnet 1.
то что мешает создать переменную типа Excel.Workbook, сделать Код: vbnet 1.
и затем работать с конкретным объектом-книгой, не ссылаясь на такой бред как ActiveWorkbook? А затем сделать ещё один логический шаг, и вообще не дёргать за Excel, просто получая сразу требуемое значение Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 12:05 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Что касается приведенного кода, то он должен выглядеть так: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
К тому же у вас есть цикл Do While sFile <> "", но я не вижу получение следующего файла sFile = Dir(): sFileName = sFolder & "\" & sFile, к тому же внутри цикла вы закрываете Excel. Т.е. вы обращаетесь к одному и тому же файлу бесконечно, но уже при втором проходе ваш excel.application отсутствует. А вообще, если вся задача в чтении определенной ячейки с листа, то это можно сделать проще и быстрее. Код: sql 1.
Этот запрос вернет одну строку с одним полем F1 из xlsm файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 12:25 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), авторно я не вижу получение следующего файла sFile = Dir есть я просто обрезал в сообщении. авторесли вся задача в чтении определенной ячейки с листа нет, в ячейке R57 контрольное значение. Если оно корректно, то далее импорт данных из трех листов. авторвнутри цикла вы закрываете Excel да, Вы правы, закрывать надо после цикла. Akina, подскажите начинающему почему "ActiveWorkbook" бред? Тормозит работу? Анатолий ( Киев ) и Akina, благодарю Вас. Саб заработал, единственное не понял почему ругается на Код: vbnet 1.
авторто что мешает создать переменную типа Excel.Workbook ??? Без объявления типа переменной все работает: Код: vbnet 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. 45.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 13:19 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
LeprottoAkina, подскажите начинающему почему "ActiveWorkbook" бред? Тормозит работу? читаем FAQ ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 13:36 |
|
После закрытия Excel.Application в процессах подвисает Excel.EXE
|
|||
---|---|---|---|
#18+
Leprottoне понял почему ругается на Код: vbnet 1.
Ну вероятно потому, что тупо не подключена референсная библиотека. А если её подключить, то и appExcel можно определить конкретным типом Excel.Application, и создавать не через CreateObject, а простым Set New. Кстати... вот зря Вы это делаете: Leprotto Код: vbnet 1.
без предварительного rst.MoveLast... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 14:00 |
|
|
start [/forum/topic.php?fid=45&fpage=78&tid=1612535]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 162ms |
0 / 0 |