我在VBA中有一个Excel宏,我要在其中将文件从执行宏的位置复制到另一个位置。

我这样尝试过

Call FileCopy(currentDir & "\" & Filename, _
otherDir & "\" & Filename)


但是我得到了一个Access restricted异常,尽管我可以完全访问所有涉及的目录。是因为我试图“复制自己”吗?这可能吗?如果没有,我可以建立解决方法吗?

最佳答案

尝试使用

ThisWorkbook.SaveCopyAs otherDir & "Test1"


要么

ThisWorkbook.SaveAs otherDir & "Test2"


ThisWorkbook是指包含您正在运行的宏的工作簿。

更新:这应该适合您创建文件夹...

确保在“工具”->“引用”下添加“ Microsoft脚本运行时”。

 Dim fso As FileSystemObject
 Set fso = New FileSystemObject
 fso.CreateFolder ("C:\test\test2")
 ThisWorkbook.SaveCopyAs "c:\test\test2\ttt.xlsm"

08-26 22:49