Поиск и перемещение файлов в другую папку с VBA - PullRequest
0 голосов
/ 06 марта 2019

Может быть, кто-то может мне помочь.

Я ищу код vba, который ищет в папке ключевые слова файла, а затем перемещает эти найденные файлы в папку anthor.

ключевые слова хранятся в столбце A в Excel.

Я использовал следующий код, и он работает частично.Проблема в том, что столбец A должен содержать точное имя файла в следующем коде.Я хочу, чтобы VBA для поиска ключевых слов.Другое дело, что файлы должны быть перемещены, а не скопированы.И если файл был перемещен, то есть проверка в столбце B.

Sub Test()

Dim R As Range, r1 As Range
Dim SourcePath As String, DestPath As String, FName As String

SourcePath = "C:\Downloads\"
DestPath = "C:\Downloads\New folder\"
Set r1 = Range("A1", Range("A" & Rows.Count).End(xlUp))

For Each R In r1
FName = Dir(SourcePath & R)

 Do While FName <> ""

   If Application.CountIf(r1, FName) Then
      FileCopy SourcePath & FName, DestPath & FName

     R.Offset(0, 1).Value = FName

  Else

     MsgBox "Bad file: " & FName & " ==>" & FName & "<== "

  End If

   FName = Dir()
 Loop
Next
End Sub

1 Ответ

0 голосов
/ 07 марта 2019

Вы можете использовать подстановочные знаки в функции Dir, если ваш диапазон содержит только ключевые слова файла. Как это:

FName = Dir(SourcePath & "*" & R.Value & "*")

Затем он обработает все файлы, в которых используется это ключевое слово.

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