2013-06-05 179 views
24

所以我有一个访问文件,我经常需要复制到另一个目录,替换上一个版本。 我想使用Excel宏来实现这一点,并且还想在该过程中重命名文件。VBA将文件从一个目录复制到另一个目录

E.g.

fileName = "X:\Database\oldName.accdb" 
    copyDestination = "Y:\dbstore\" 
    newName = "newName.accdb" 

有没有简单的方法做到这一点?

+1

通过定期,你的意思是每x分钟一次? – will

+0

不,我的意思是每天几次 – harryg

回答

42

在Scripting.FileSystemObject中使用适当的方法。那么你的代码将更容易移植到VBScript和VB.net。让你开始,你需要包括:

Dim fso As Object 
Set fso = VBA.CreateObject("Scripting.FileSystemObject") 

那么你可以使用

​​

其中源和目标是该文件的全名(包括路径)。

http://msdn.microsoft.com/en-us/library/aa711216(v=vs.71).aspx

+0

那很简单。非常感谢 – harryg

+0

与其他FileCopy的简单解决方案相比,此解决方案似乎具有可以在打开源文件(例如通过MS Access)时也可以复制源文件的优点,即它是“只读”时。 –

52

这种方法就更简单了,如果你确定用更少的选择:

FileCopy source, destination 
+0

这是我测试过的最简单的 –

+2

,实际上,这种方法会自动覆盖。 –

+0

不错而且简单,但是当我使用这个解决方案并且要复制的Access数据库被打开时,我得到一个“拒绝访问”的错误。这在使用FileSystemObject时不会发生。 –

相关问题