Страница 1 из 1

Закрыть импорт

Добавлено: 30 мар 2009, 12:18
kuznetsovSergey
Импортировал данные из Excel в Access, через VB в Access-е
но столкнулся с такой проблемой, видимо не закрыл где то процедуру. Потому что после завершения работы с макросом. При открытии нового Excel файла, открывает и тот, с которым работает макрос. Диспетчер задач не обнуляет процесс. Подскажите как убрать этот открытый ексельник из буфера? за ранее благодарен

Re: Закрыть импорт

Добавлено: 30 мар 2009, 15:47
Naeel Maqsudov
Надо обязательно вызывать метов quit у порожденного application.
Причем надо сделать это гарантированно даже при ошибках.
Т.е. надо обработать все исключения и обязательно завершить Excel.

Например:

Код: Выделить всё

set XL=CreateObject("Excel.Application")
on error goto finalize
...
...
...
finalize:
XL.Quit
set XL=Nothing

Re: Закрыть импорт

Добавлено: 31 мар 2009, 10:02
atavin-ta
А зачем вообще мучиться с процедурами? В аксесе импорт готовый.

Re: Закрыть импорт

Добавлено: 31 мар 2009, 11:02
kuznetsovSergey
да там выборочный импорт ) там не так всё просто )

+2. Ответ исчерпывающий, спасибо огромное!

Re: Закрыть импорт

Добавлено: 31 мар 2009, 14:04
Naeel Maqsudov
Между прочим, atavin-ta, прав, и очень редко когда нельзя обойтись готовым. Неужени нельзя написать такой запрос, который вернул бы Вам данные, готовые для экспорта?
На мой взгляд, писать свой экспорт в Excel бывает необходимо только в том случае, если данные на рабочий лист вносятся каким-то особым образом, а не в виде таблицы.

Re: Закрыть импорт

Добавлено: 01 апр 2009, 14:39
kuznetsovSergey
там не в виде таблицы данные, там страница Excel с разными типами данных, и из них нужно было выцеплять только некоторые ячейки, оэтому пришлось писать макрос. Ну в общем решилась проблема, спасибо огромное. Стандарным импортом аксеса было не обойтись