![]() |
|
Модераторы: mihanik |
![]()
|
|
| RockClimber |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: 7 Всего: 15 |
Есть код (запускается макросом в Access, цель - импорт некоторых данных из книг Excel по изощренному алгоритму):
В чем проблема: после инициализации переменной xlApp в списке процессов Windows появляется процесс Excel. После выполнения строчки Set xlApp=Nothing этот процесс остается висеть. Причем если перед этой строчкой написать
Вторая проблема - то, что все открытые файлы остаются висеть в памяти. Если выполнить строчку
В итоге макрос порядком замусоривает память. Вопрос: как позакрывать в макросе все ранее открытое? -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
||||||||
|
|||||||||
| Genyaa |
|
||||||
|
Усердный ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.9.2006 Где: Москва Репутация: 2 Всего: 11 |
Странно, но у меня тоже не получилось так закрыть Excel... Но получилось так:
если xlR44 - объект открытой книги в Excel. Попробуйте, может поможет. --------------------
Всякое решение плодит новые проблемы. |
||||||
|
|||||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
А через макрос нельзя???
Через команды закрыть... |
|||
|
||||
| RockClimber |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: 7 Всего: 15 |
Rodman, а у меня что, не макрос, что ли?
Genyaa, сегодня пробовал, тоже ругается. Точную формулировку не помню, что-то типа "какой-то объект недоступен"... -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
Я в том смысле что не баиковский код, а из графического режима...
|
|||
|
||||
| Aloha |
|
||||||||||||
|
. ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 351 Регистрация: 14.5.2006 Репутация: 5 Всего: 165 |
RockClimber
В вашем коде объект xlApp оказался не связан с xlR44:
Логичнее было бы инициализировать xlR44 так:
В противном случае в xlApp не никакой необходимости. Я опробовал такой вариант:
И еще. Ваш код начинается со строки:
Отсюда можно сделать вывод, что Вы подключили к проекту объектную библиотеку Excel. Но потом Вы используете позднее связывание, вызывая функцию CreateObject:
Мне кажется, лучше в данном случае использовать раннее связывание:
Это сообщение отредактировал(а) Aloha - 10.10.2006, 19:16 |
||||||||||||
|
|||||||||||||
| RockClimber |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: 7 Всего: 15 |
О!
Теперь все понятно. Эти две строчки
Кстати, а раннее связывание что дает? Rodman, не очень понял как, если честно. Мне надо было чтобы полностью без моего участия. Оставил на ночь и пошел домой спать. К утру файлов 50 переработает, если все открыты будут - по-моему, тормозить сильно будет. Все-таки каждый файл по 8 мегов. -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |