VBA CopyFolder копирует неправильную папку - PullRequest
0 голосов
/ 25 марта 2019

У меня есть небольшой макрос, который должен копировать папку и все ее содержимое из одного пути к файлу в другой.Проблема в том, что он копирует не ту папку.Вместо этого он копирует первую подпапку (но не ее содержимое) из этой папки, а затем выдает ошибку «Путь не найден».Иногда он копирует основную папку, а затем просто ту же самую первую подпапку без ее содержимого, а затем снова выдает ошибку «Путь не найден».

   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.

Переменные значения:

Quarter - это Q3 2018 Year2 - это 2018 Quarter2 - это Q3

Year2, а Quarter2 - это подстроки Quarter, переменной, которая заполняется черезполе ввода.

   year2 = Mid(quarter, 4, 4)
   quarter2 = Mid(quarter, 1, 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...