文件未找到VBA

文件未找到VBA

问题描述:

我有一个令人沮丧的时间尝试在VBA中创建备份脚本。尝试在打开文件后终止文件时发生错误“文件未找到”,进行备份并将其保存为新名称。文件未找到VBA

Application.Workbooks.Open Old 
ActiveWorkbook.SaveAs Archive 
ActiveWorkbook.SaveAs New 

'If Len(Dir$(Old)) > 0 Then Kill Old 
If Len(Dir$(Old)) = 0 Then MsgBox ("bleuh") 
'Here is where I get the message "Bleuh" even though Old was just opened a few lines ago.. 

第一行工作正常,但是当我想杀死文件'旧'时,我得到错误。因此,我试图测试文件是否存在。结果是Msg“Bleuh”。所以文件可以打开,但几行后没有找到。任何人都可以解释这个并帮助我吗?

为了完整,整个代码在这里找到。

Sub UpdateAll() 
Dim Afk As String, J As String, NJ As String, Path As String, strFile As String, Old As String, Archive As String, New As String 
'Dim fso As Object 

Path = "C:\Users\Name\OneDrive - Company\Desktop\Testing backup" & "\" 

Year = Year(Date) 
VJ = Year 
NJ = Year + 1 


Application.ScreenUpdating = False 

'test for Afk (I define Afk for some additional functions that are not relevant for this problem) 
Afk = "ABA" 

'filenames 
Old = Path & ("Planning ") & VJ & Space(1) & Afk 
Archive = Path & ("Planning\Archive ") & VJ & Space(1) & Afk 
New = Path & ("Planning ") & NJ & Space(1) & Afk 

Application.Workbooks.Open Old 
ActiveWorkbook.SaveAs Archive 
ActiveWorkbook.SaveAs New 

If Len(Dir$(Oud)) > 0 Then Kill Old 
If Len(Dir$(Oud)) = 0 Then MsgBox ("bleuh") 
'Here is where I get the message "Bleuh" even though Old was just opened a few lines ago.. 

'Also tried 
'fso.CopyFile Old, Archive 'AND 
'FileCopy Old, Archive 

'in combination with: 

'Name Old As New 
' "SSDD" 

'Next 

Application.ScreenUpdating = True 

End Sub 
+1

请问您的文件名可变有分机吗? – braX

+1

我没有看到你指定路径和文件名到'Oud'的位置。 – Jeeped

+1

您先删除文件,然后验证它是否仍然存在...尝试使用“Select Case”选项... – Pspl

分析你的代码后,我意识到你不需要打开你的文件(因为你没有得到任何信息)。你只是想要移动它。所以,请尝试以下操作:它

Name Old as Archive 

这应该做的伎俩......

+0

感谢您的帮助,虽然它不能解决问题。我得到了同样的错误'找不到文件'。 – Eelco

+0

如果文件路径和名称真的正确,你可以用'MsgBox Old'命令验证吗?如果该文件真的在您指定的文件夹中? – Pspl

+0

我使用名称正确的msgbox对其进行验证,并以可视方式检查文件是否位于指定文件夹中。此外,该文件在Application.Workbooks.Open Old行中打开,所以我非常确定文件路径和名称是正确的 – Eelco