我想备份所有文件和文件夹。
例如:我有2个文件和一个位于D:\ Temp文件夹中的文件夹。
我在同一文件夹中还有一个名为“备份”的文件夹,即D:\ Temp \
所以我想将除备份文件夹以外的所有文件和文件夹移动到Access VBA中的备份文件夹。有可能吗?
这是我与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)您无法确定哪一行代码有错误,这会使其他人花更多的时间查看您的所有代码;
((2)您的语法错误-更改
If Not DirExists(savepath) Then
成为:
If Not FSO.FolderExists(savepath) Then
此外,Windows 10中也不允许移动。您必须复制文件和/或文件夹,然后将其删除。如果要删除文件夹,则需要确保文件夹为空,否则会出现错误。