矛盾的错误“在VBA中没有文件”

我最近问了一个关于在Excel VBA中找不到错误53'文件的问题。 我试图通过在新脚本中切入BS来提炼这个问题的本质。 这里是最简化的脚本版本,我仍然遇到同样的问题:

Sub Test() Dim NJ As String, path As String, Oud As String, Archief As String, Nieuw As String path = "C:\Test" & "\" Oud = path & "A" Archief = path & ("Archive") & "\" & "A" Nieuw = path & "B" Application.Workbooks.Add ActiveWorkbook.SaveAs Oud ActiveWorkbook.SaveAs Archief ActiveWorkbook.SaveAs Nieuw Kill Oud End Sub 

我试图绕过一个太长的path名的可能性,通过限制它到最基本的地步,我创build了一个新的文件,我给了一个variables名,以确保path名没有错误。 我也与IT人员交谈,以确保我有适当的权限来更改,编辑和删除文件。

我知道当前的脚本并没有太多的意义(为什么不直接创buildArchief和Nieuw?),但是我想了解另一个脚本中发生的错误,在这个脚本中,我尝试对一些文件进行存档(比如说“名称2017“)存档文件夹中,在原始文件(例如”名称2018“)中重命名为新的一年,然后杀死原来的2017年文件来清理混乱。

我试图分析这个错误的原因,因为它似乎没有任何意义的文件,其中我绝对积极的存在(我刚刚创build它)无法find…任何有用的见解是非常非常感激。

请做以下更改:

1)将这些行添加到您的代码:

 Dim filename As String filename = "test.xls" 'You can select any name and any excel file format 

2)更换这些行:

  Application.Workbooks.Add ActiveWorkbook.SaveAs Oud ActiveWorkbook.SaveAs Archief ActiveWorkbook.SaveAs Nieuw Kill Oud 

用这些:

  ActiveWorkbook.SaveAs Oud & "\" & filename ActiveWorkbook.SaveAs Archief & "\" & filename ActiveWorkbook.SaveAs Nieuw & "\" & filename Kill Oud & "\" & filename