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

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
kuznetsovSergey
Сообщения: 163
Зарегистрирован: 05 мар 2009, 11:27

Импортировал данные из Excel в Access, через VB в Access-е
но столкнулся с такой проблемой, видимо не закрыл где то процедуру. Потому что после завершения работы с макросом. При открытии нового Excel файла, открывает и тот, с которым работает макрос. Диспетчер задач не обнуляет процесс. Подскажите как убрать этот открытый ексельник из буфера? за ранее благодарен
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Надо обязательно вызывать метов quit у порожденного application.
Причем надо сделать это гарантированно даже при ошибках.
Т.е. надо обработать все исключения и обязательно завершить Excel.

Например:

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

set XL=CreateObject("Excel.Application")
on error goto finalize
...
...
...
finalize:
XL.Quit
set XL=Nothing
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

А зачем вообще мучиться с процедурами? В аксесе импорт готовый.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
kuznetsovSergey
Сообщения: 163
Зарегистрирован: 05 мар 2009, 11:27

да там выборочный импорт ) там не так всё просто )

+2. Ответ исчерпывающий, спасибо огромное!
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Между прочим, atavin-ta, прав, и очень редко когда нельзя обойтись готовым. Неужени нельзя написать такой запрос, который вернул бы Вам данные, готовые для экспорта?
На мой взгляд, писать свой экспорт в Excel бывает необходимо только в том случае, если данные на рабочий лист вносятся каким-то особым образом, а не в виде таблицы.
kuznetsovSergey
Сообщения: 163
Зарегистрирован: 05 мар 2009, 11:27

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