Access 2010 Excel导出1004错误

我在Access 2010中有一些VBA运行查询并将结果导出到Excel中的列。 这里的目标是当用户按下所需的button时,打开一个excel工作簿,如果它不存在,则创build它。 当创build一个新的工作簿时,VBA预成型坯如预期的那样。 我遇到的问题是工作簿已经存在。

所以在创build一个我的Excel应用程序对象之后,我尝试打开工作簿。 当它不存在时会发生1004错误,并且我有以下error handling程序:

Select Case Err Case 1004 'Workbook doesn't exist, make it xl.Workbooks.Add Set wb = xl.ActiveWorkbook wb.SaveAs strWorkBook Resume Next 

当用户打开现有的工作簿时,系统会提示用覆盖是,否,取消选项。 除yes以外的任何响应都会生成1004错误(看起来有两个不同的错误,具有相同的代码#)。 我只是想找一个方法来解决这个问题,无论是我写一些VBA来自动接受还是我有其他的东西让用户说不/取消。 最简单的是首选,我只是不想在他们身上popup一个错误。

您不需要依靠error handling来处理是否存在Excel文件。 使用Dir()检查它是否存在,并相应地打开或创build。

 If Len(Dir(strFullPathToWorkbook)) > 0 Then ' open the workbook ' Else ' create the workbook ' End If 

如果这是一个新的工作簿,请使用wb.SaveAs strWorkBook

如果是现有的工作簿,请使用wb.Save