将所有文件和文件夹移动到Access VBA中的另一个文件夹

时间:2014-12-17 20:10:53

标签: vba access-vba

我想备份所有文件和文件夹。

例如:我有2个文件和一个位于D:\ Temp文件夹中的文件夹。

我在同一个文件夹中还有一个名为“Backup”的文件夹,即D:\ Temp \

所以我想将除Backup文件夹之外的所有文件和文件夹移动到Access VBA中的Backup文件夹。这可能吗?

这是我从Ron的代码到目前为止的尝试。

我尝试从一个文件夹移动到临时文件夹,然后从那个文件夹移动到我原来的文件夹,如下所示。但我得到了错误。

savepath = "d:\test\"
savepath2 = "d:\temp\"
savepath1 = "d:\test\Archieve\"

Dim FSO As Object
Dim FromPath As String
Dim ToPath As String

FromPath = savepath  '<< Change
ToPath = savepath2 '<< Change

If Right(FromPath, 1) = "\" Then
    FromPath = Left(FromPath, Len(FromPath) - 1)
End If

If Right(ToPath, 1) = "\" Then
    ToPath = Left(ToPath, Len(ToPath) - 1)
End If

Set FSO = CreateObject("scripting.filesystemobject")

If FSO.FolderExists(FromPath) = False Then
    MsgBox FromPath & " doesn't exist"
    Exit Sub
End If

FSO.moveFolder Source:=FromPath, Destination:=ToPath


If Not DirExists(savepath) Then
MkDir (savepath)
End If

If Not DirExists(savepath1) Then
MkDir (savepath1)
End If

FromPath = savepath2  '<< Change
ToPath = savepath1 '<< Change

If Right(FromPath, 1) = "\" Then
    FromPath = Left(FromPath, Len(FromPath) - 1)
End If

If Right(ToPath, 1) = "\" Then
    ToPath = Left(ToPath, Len(ToPath) - 1)
End If

Set FSO = CreateObject("scripting.filesystemobject")

If FSO.FolderExists(FromPath) = False Then
    MsgBox FromPath & " doesn't exist"
    Exit Sub
End If


FSO.moveFolder Source:=FromPath, Destination:=ToPath

1 个答案:

答案 0 :(得分:0)

两个问题:(1)您没有确定哪行代码有错误,这使得其他人花费额外的时间查看您的所有代码;

(2)您的语法错误 - 更改

If Not DirExists(savepath) Then

是:

If Not FSO.FolderExists(savepath) Then