我有一个小宏,应该将一个文件夹及其所有内容从一个文件路径复制到另一个文件路径。问题是,它正在复制错误的文件夹。而是从该文件夹复制第一个子文件夹(但不复制其内容),然后以“找不到路径”错误进行错误输出。有时它将复制主文件夹,然后仅复制相同的第一个子文件夹,但不包含其内容,然后再次出现“找不到路径”错误。
Dim strFilePath As String, techfolder As String
strFilePath = "G:\Data\FolderName\PROJECTS\2019\AnotherFolderName\Test_Area\" & year2 & " - Testing\6. Verification\" & quarter & "\3 - Verification Emails Received\YetAnotherFolderName"
techfolder = "G:\Data\CompanyName\FolderName\AnotherFolderName\Name" & year2 & " " & quarter2 & "\Completed\"
Dim FSO As Object
If Right(techfolder, 1) = "\" Then
techfolder = Left(techfolder, Len(techfolder) - 1)
End If
If Right(strFilePath, 1) = "\" Then
strFilePath = Left(strFilePath, Len(strFilePath) - 1)
End If
Set FSO = CreateObject("scripting.filesystemobject")
If FSO.FolderExists(techfolder) = False Then
MsgBox techfolder & " doesn't exist"
Exit Sub
End If
Debug.Print (strFilePath)
Debug.Print (techfolder)
FSO.CopyFolder Source:=techfolder, Destination:=strFilePath
MsgBox "You can find the files and subfolders from " & techfolder & " in " & strFilePath
我已经尝试了一些不同的CopyFolder方法,这些方法通过某些互联网搜索使用if逻辑等,但都以这种通用形式进行。他们都没有正确复制该文件夹及其所有子文件夹/内容。
我已经通过调试检查了我的文件路径,它们很好,我可以将它们复制/粘贴到文件资源管理器中,并且可以顺利导航。另外,子文件夹复制暗示它似乎是正确的。
手动复制文件夹或其子文件夹没有问题。
ETA:大约有31个子文件夹,每个子文件夹包含一个excel和一个pdf。
变量值为:
季度是2018年第三季度 Year2是2018 Quarter2是Q3
Year2和Quarter2由Quarter的子字符串组成,Quarter是通过输入框填充的变量。
year2 = Mid(quarter, 4, 4)
quarter2 = Mid(quarter, 1, 2)