我的Access VBA宏出现问题,由于某种原因导致这些行出现错误" Permission Denied [运行时错误70]:
sOutputFile = CurrentProject.Path & "\Output Files\Recon\" & sDate & " " & sClient & " Cash Recon.xlsx"
sTemplateFile = CurrentProject.Path & "\Temp Files\Template_Listed.xlsx"
If Dir(sOutputFile) <> "" Then Kill sOutputFile
FileCopy sTemplateFile, sOutputFile
得到什么&#34;指出&#34;直接就是&#34; Kill sOutputFile&#34;短语。
值得一提的是,我没有打开任何文件,我可以完全访问目录,不久前(在声明sOutputFile和sTemplateFile之前),它们都被清除了。
非常感谢任何帮助,如果需要,我愿意分享更多代码。
编辑:此外,宏不时会转到下一行,而是在FileCopy中断。
答案 0 :(得分:1)
在我看来,逻辑并不完全正确,请尝试以下(FileCopy应位于If ... End If内):
sOutputFile = CurrentProject.Path & "\Output Files\Recon\" & sDate & " " &
sClient & " Cash Recon.xlsx"
sTemplateFile = CurrentProject.Path & "\Temp Files\Template_Listed.xlsx"
If FileExists(sOutputFile) Then
Kill sOutputFile
FileCopy sTemplateFile, sOutputFile
End If
这是FileExists函数:
Public Function FileExists_1(sFileName As String) As Boolean
Dim obj_fso As Object
Set obj_fso = CreateObject("Scripting.FileSystemObject")
FileExists_1 = obj_fso.fileExists(sFileName)
Set obj_fso = Nothing
End Function
答案 1 :(得分:0)
我的情况是什么问题,是我之前使用过宏,但是完整的运行失败了。在经过一些调整后尝试再次运行它(与我在此处发布的代码无关)后,上述问题正在发生。所有这些只是因为我的文件仍然在我的excel的内存中打开,因此无法删除该文件。
感谢所有贡献的人。你一如既往地惊叹!