recursion保存 – 抛出错误

我正在编写一个recursion的VBA脚本,并从目录中获取所有单词和excel文件,然后打开并保存为模板,然后closures。 一切正在相应的工作,但当我试图closures打开的Excel应用程序时,我得到一个错误“运行时错误'91':对象variables或未设置块”

代码如下:

If ExtFind = "xlsx" Or ExtFind = "xls" Then Debug.Print ("EXCEL FILE FOUND") Dim xlApp As Excel.Application Set xlApp = CreateObject("Excel.Application") xlApp.DisplayAlerts = False xlApp.Visible = True xlApp.Workbooks.Open strFile ActiveWorkbook.SaveAs FileName:=saveString, FileFormat:=xlTemplate ActiveWorkbook.Close xlApp.Quit Set xlApp = Nothing End If 

错误发生在线上:

 ActiveWorkbook.SaveAs FileName:=saveString, FileFormat:=xlTemplate 

我100%肯定,variablessaveString包含正在从访问表中检索正确的值。 代码作为循环的一部分执行。 我认为这个问题是关于目前的工作手册,但我不确定。 任何帮助将不胜感激。

我通过注释看到,您注意到您必须将Activeworkbook引用为Excel应用程序对象的属性。

不过,我想build议你考虑在With块中做这个…

 With xlApp .DisplayAlerts = False .Visible = True .Workbooks.Open strFile .ActiveWorkbook.SaveAs FileName:=saveString, _ FileFormat:=xlTemplate .ActiveWorkbook.Close .Quit End With