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