Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从access 2007进行访问后,Excel 2007工作簿被锁定_Excel_Ms Access_Vba_Ms Access 2007 - Fatal编程技术网

从access 2007进行访问后,Excel 2007工作簿被锁定

从access 2007进行访问后,Excel 2007工作簿被锁定,excel,ms-access,vba,ms-access-2007,Excel,Ms Access,Vba,Ms Access 2007,我有一个项目,我从Excel工作表中读取数据,并将其保存在Access表中(不是直接导入,看看您是否感兴趣)。我当前的问题是,每当我运行“导入”,然后尝试在Excel中打开工作簿时,除非/直到我关闭Access,否则工作簿将“锁定以进行编辑”。我认为情况不应该是这样。我的过程是 自动打开工作簿 构建图纸名称的集合 释放自动化对象 如果有多张工作表,请获取要处理的用户输入 打开特定范围内的ADO记录集并读取一些数据 释放记录集和连接 在不同的特定范围上打开ADO记录集并读取一组o'数据 释放记录集

我有一个项目,我从Excel工作表中读取数据,并将其保存在Access表中(不是直接导入,看看您是否感兴趣)。我当前的问题是,每当我运行“导入”,然后尝试在Excel中打开工作簿时,除非/直到我关闭Access,否则工作簿将“锁定以进行编辑”。我认为情况不应该是这样。我的过程是

  • 自动打开工作簿
  • 构建图纸名称的集合
  • 释放自动化对象
  • 如果有多张工作表,请获取要处理的用户输入
  • 打开特定范围内的ADO记录集并读取一些数据
  • 释放记录集和连接
  • 在不同的特定范围上打开ADO记录集并读取一组o'数据
  • 释放记录集和连接
  • 关闭控制窗体
  • 步骤1-4和9位于表单文件中,其余部分位于模块中

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

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

    Dim objExcel As New Excel.Application
    
    然后释放对象是这样的:

    Set objExcel = Nothing
    
    在将对象变量设置为Nothing之前尝试包括此行:

    objExcel.Quit
    
    它还有助于在启动Excel应用程序实例后使其可见,这样您就不太可能让Excel不可见地运行:

    objExcel.Visible = True