2010-11-03 54 views
0

我有一个项目,我正在从Excel工作表中读取数据并将其保存在Access表中(不是直接导入 - 请参阅this question如果您有兴趣)。我目前的问题是,任何时候我运行我的“导入”,然后尝试在Excel中打开工作簿,它将被“锁定编辑”,除非/直到我关闭Access。我不认为认为这应该是这样。我的过程是Excel 2007工作簿在访问Access 2007后锁定

  1. 使用自动化打开工作簿。
  2. 建立表格名称集合。
  3. 释放自动化对象。
  4. 如果有多个工作表,请获取要处理的用户输入。
  5. 打开一个特定范围的ADO记录集&读取一些数据。
  6. 释放记录集&连接。
  7. 在不同的特定范围上打开一个ADO记录集&读取一堆数据。
  8. 释放记录集&连接。
  9. 关闭控制表单。

步骤1 - 4和9生活在表格文件中,其余部分在模块中。

我错过了什么吗?我认为我已经释放到工作簿中所有引用....

回答

1

如果你的步骤#1包括这样的事情:

Dim objExcel As New Excel.Application 

后来释放对象是这样的:

Set objExcel = Nothing 

尝试包括这一行,你将对象变量设置为Nothing之前:

objExcel.Quit 

它还有助于使启动它后,Excel应用程序实例可见这样你就不太可能离开运行Excel看不见:

objExcel.Visible = True 
+0

的.Quit奏效了..谢谢! – RolandTumble 2010-11-03 20:51:01