应用程序在复印纸张时已经“从客户端断开”

当试图从另一个工作簿复制工作表时,我得到一个

自动化错误。 被调用的对象已经与客户端断开连接。

这里是奇怪的部分,这只发生在我第二次运行代码,第一次运行它,它工作正常。 该错误发生在以下子节点中:

Sub importsettings(str1 As String) 'Import the relevant sheet information Application.DisplayAlerts = False wbksandpit.Activate wbkInputs.Activate On Error GoTo catch **wbkInputs.Sheets(str1).Copy after:=wbksandpit.Sheets(wbksandpit.Sheets.Count - 1)** On Error GoTo 0 Exit Sub catch: MsgBox str1 & " sheet does not exist!" Debug.Print Err.Description Application.DisplayAlerts = False ThisWorkbook.Sheets("Menu").Activate wbkInputs.Close (False) Call unlock_all_cells End End Sub 

错误发生在副本行上,对象在以下行中定义:

 Set wbksandpit = ThisWorkbook 

 Set wbkInputs = Workbooks.Open(strfilepath, False, True) 

我已经尝试了第二次遍历代码,并且在即时窗口中正确定义了这两个对象。 更奇怪的是,它实际上会复制第一张纸(我用四个不同的纸张名称称为str1四次),所以这一行正在执行,但仍然抛出错误消息,我已经试过忽略那个特定的错误,但工作簿然后冻结,所以它不能与其他三张工作表。

NB – 我已经尝试重置工作表variables,这也不起作用,我也试图closures错误表,然后重新打开它。 再次,它不起作用。

所有的build议都欢迎!