从Access 2007访问后锁定Excel 2007工作簿

时间:2010-11-03 19:30:42

标签: excel ms-access vba ms-access-2007

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

  1. 使用自动化打开工作簿。
  2. 构建工作表名称集合。
  3. 发布自动化对象。
  4. 如果有多个工作表,请获取要处理的用户输入。
  5. 在特定范围内打开ADO记录集&阅读一些数据。
  6. 发布记录集&连接。
  7. 在不同的特定范围内打开ADO记录集&读了一堆数据。
  8. 发布记录集&连接。
  9. 关闭控制表格。
  10. 步骤1 - 4和9存在于表单文件中,其余部分存在于模块中。

    我错过了什么吗?我我已经发布了对工作簿的所有引用....

1 个答案:

答案 0 :(得分:1)

如果您的步骤#1包含以下内容:

Dim objExcel As New Excel.Application

后来发布的对象是:

Set objExcel = Nothing

在将对象变量设置为Nothing之前尝试包含此行:

objExcel.Quit

启动Excel应用程序实例后,它也有助于显示Excel应用程序实例,因此您不太可能让Excel看不见:

objExcel.Visible = True