Книга Excel 2007 заблокирована после доступа из Access 2007 - PullRequest
0 голосов
/ 03 ноября 2010

У меня есть проект, в котором я читаю данные с листа Excel и сохраняю их в таблицах Access ( не прямой импорт - см. этот вопрос если вы ' заинтересован). Моя текущая проблема заключается в том, что каждый раз, когда я запускаю свой «импорт», а затем пытаюсь открыть книгу в Excel, она «заблокирована для редактирования», если / пока я не закрою Access. Я не думаю это должно быть так. Мой процесс

  1. Откройте книгу с помощью автоматизации.
  2. Создайте коллекцию имен листов.
  3. Отпустить объекты автоматизации.
  4. Если имеется более одного листа, получите пользовательский ввод для обработки.
  5. Откройте набор записей ADO в определенном диапазоне и прочитайте некоторые данные.
  6. Отключить набор записей и соединение.
  7. Откройте набор записей ADO в другом определенном диапазоне и прочитайте несколько данных.
  8. Отключить набор записей и соединение.
  9. Закройте управляющую форму.

Шаги 1 - 4 и 9 находятся в файле формы, остальные в модуле.

Я что-то упустил? Я думаю Я выпустил все ссылки на рабочую книгу ....

1 Ответ

1 голос
/ 03 ноября 2010

Если ваш шаг # 1 включает в себя что-то вроде этого:

Dim objExcel As New Excel.Application

И позже освобождение объекта таково:

Set objExcel = Nothing

Попытка включить эту строку непосредственно перед тем, как установить для переменной объекта значение Nothing:

objExcel.Quit

Это также помогает сделать экземпляр приложения Excel видимым после его запуска, так что вы вряд ли оставите Excel работать незаметно:

objExcel.Visible = True
...