Excel 使用VBA复制和重命名文件夹

Excel 使用VBA复制和重命名文件夹,excel,vba,Excel,Vba,我有一个文件夹,里面有许多链接的工作簿。我想在C:\驱动器中存储它的主副本。当有人需要使用它时,他们会单击下面的宏来复制文件夹,询问新名称,并将其放在桌面上使用。下面的代码循环执行,但不会将文件夹放在桌面上。它似乎消失了,并没有复制原作 希望有人能帮忙 Sub Copy_Folder() Dim FSO As Object Dim FromPath As String Dim ToPath As String Dim strName As String FromPath = "C:\v4 M

我有一个文件夹,里面有许多链接的工作簿。我想在C:\驱动器中存储它的主副本。当有人需要使用它时,他们会单击下面的宏来复制文件夹,询问新名称,并将其放在桌面上使用。下面的代码循环执行,但不会将文件夹放在桌面上。它似乎消失了,并没有复制原作

希望有人能帮忙

Sub Copy_Folder()
Dim FSO As Object
Dim FromPath As String
Dim ToPath As String
Dim strName As String


FromPath = "C:\v4 Master Operations Folder"  
ToPath = "C:\Users\Owner\Desktop"
Application.CutCopyMode = False


Reenter:
strName = InputBox(Prompt:="Enter the name of your operation", _
Title:="Operation.", Default:=" ")

If strName = vbNullString Then
MsgBox "Incorrect Entry."
GoTo Reenter

End If

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

If Right(ToPath, 1) = "\" Then
    ToPath = Left(ToPath & strName, 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.CopyFolder Source:=FromPath, Destination:=ToPath & strName
MsgBox "You can find the files and subfolders from " & FromPath & " in " & ToPath & strName

End Sub

问题似乎出在这条线上:

FSO.CopyFolder Source:=FromPath, Destination:=ToPath & strName

您正在将您的
Destination
变量设置为
ToPath&strName
,因此如果用户输入“我的名字”,那么它将是“C:\Users\Owner\DesktopMy name”。您需要在那里放一个斜杠:
Destination:=ToPath&“\”&strName

问题似乎出在这一行:

FSO.CopyFolder Source:=FromPath, Destination:=ToPath & strName
您正在将您的
Destination
变量设置为
ToPath&strName
,因此如果用户输入“我的名字”,那么它将是“C:\Users\Owner\DesktopMy name”。您需要在那里放一个斜杠:
Destination:=ToPath&“\”&strName