2013-06-05 48 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時不會發生。 –

相關問題