2014-12-08 3 views
1

У меня есть вопрос, который может быть простым. Мне нужно переименовать мои файлы в соответствии с приведенным ниже списком.Переименовать файлы на основе условия if

Column A Column B 
00145   AB12 
00206   AZ15 
00705   AK09 
so on ........... 

В настоящее время мои файлы именуются в соответствии с колонкой А и мне нужен пакетное переименование их имена в столбце B. Есть более тысяч записей.

Это означает, что файл «00145» будет переименован в «AB12», «00206» на «AZ15» и так далее.

Я подумал о том, чтобы отсортировать их в excel, а затем использовать список переименований в программном обеспечении filerenamer, однако проблема в том, что файлы в папке могут быть не обязательно в порядке, то есть в файле нет. «00705» может отсутствовать, поэтому, используя список переименований, все последующие имена файлов будут отключены одним.

Мне нужно что-то определить файлы, которые доступны в списке и в папке, а затем сопоставить их с соответствующим именем и соответствующим образом переименовать файлы.

Любая помощь будет высоко оценена.

спасибо.

ответ

1

только что протестировал

Sub rename_batch() 

filePath = "C:\tmp\" 
counter = 0 

For Each c In Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)) 

    If Dir(filePath & c.Value) <> "" Then 
    Name filePath & c.Value As filePath & c.Offset(counter, 1).Value 
    c.Offset(0, 2).Value = c.Value & " > " & c.Offset(counter, 1).Value 
    Else 
    counter = counter - 1 
    End If 

Next 

End Sub 

это войдет в список в колонке «А», начиная с «А2» и далее, он проверяет наличие файла, если файл существует, он будет переименовать все, что в графе «B» , если файл отсутствует, он пропускает строку, но счетчик идет вниз, что является смещением на том, где читать из столбца «B», поэтому он будет переименовываться в файл ранее в столбце «B». Я также включил строку, чтобы заполнить столбец «C», с каким файлом он переименован. P.S. Имейте в виду, что я не включил никаких проверок, чтобы увидеть, существует ли файл назначения. Дайте мне знать, если вам это понадобится

+0

Спасибо, мне пришлось немного изменить, но он заработал! – CaptainABC

Смежные вопросы