Поиск имен файлов из списка оптимизации - PullRequest
0 голосов
/ 08 июля 2019

В настоящее время я пытаюсь найти файлы в папке и переместить их в отдельные папки назначения. У меня есть столбец FILENAME рядом с столбцом соответствующей ПАПКИ. Файлы имеют имена FILENAME_Ver_X, и их должно быть по 2 в папке с разными типами файлов.

В данный момент мой код просматривает каждый файл, читает, содержит ли он строку FILENAME и, если это так, перемещает ее в папку. Однако это довольно медленно, так как существует огромное количество файлов, поэтому мне было интересно, есть ли лучший способ поиска по всем этим.

Set objFolder = fso.GetFolder(Viewables)
Do While r <= maxRows
d = Rng(r, 1) & "_Ver_"
e = Rng(r, 2)
For Each f1 In objFolder.Files
    If InStr(1, Left(f1.Name, Len(d)), d) > 0 Then
    tPath = ActiveWorkbook.Path & "\" & e & "\"
    fso.MoveFile (Viewables & f1.Name), tPath

    End If
Next
r = r + 1
Loop

1 Ответ

0 голосов
/ 08 июля 2019

Возможно, вы просто используете vba для циклического перемещения по папке, но затем используете команду перемещения уровня Windows один раз для каждой папки

Команда перемещения позволяет использовать подстановочные знаки, чтобы vba могла предоставить исходный путь и логику команды перемещения

Таким образом, вы в конечном итоге запускаете команду перемещения для каждой папки

Вы можете получить путь к журналу и количество файлов в пути до и после аудита

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...