Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Переименование файлов на основе таблицы
 
Если кто-то не может скачать файл пользователя Мотя
В эксель столбец А - старое название с расширением, В - новое название с расширением
Сам макрос
Код
Sub CHANGE_NAME_FILE()
Application.ScreenUpdating = 0
Application.DisplayAlerts = 0
Dim Im_Main, Put_File, sch_VERT As Variant
Dim FS, KATALOG, FILE, MASSIV As Object
Dim II, JJ As Integer
    Range("C2:C65000").Select
    Selection.ClearContents
sch_VERT = Cells(1, 1).End(xlDown).Row - 1
Dim OLD_NAME(), NEW_NAME() As Variant
ReDim OLD_NAME(sch_VERT, 1), NEW_NAME(sch_VERT, 1)
    Range("A1:B" + Trim(Str(sch_VERT + 1))).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
OLD_NAME = Range(Cells(2, 1), Cells(2 + sch_VERT, 1))
NEW_NAME = Range(Cells(2, 2), Cells(2 + sch_VERT, 2))
Im_Main = ActiveWorkbook.Name
Put_File = Application.ActiveWorkbook.Path + "\"
Set FS = CreateObject("Scripting.FileSystemObject")
Set KATALOG = FS.GetFolder(Put_File)
Set MASSIV = KATALOG.Files
If Dir(Put_File + "OUT\", vbDirectory) = "" Then
    MkDir (Put_File + "OUT\")
End If
If Dir(Put_File + "OUT\", vbDirectory) <> "" Then
   'If Len(Dir(Put_File + "OUT\*.*")) > 0 Then
      'Kill (Put_File + "OUT\*.*")
   'End If
For II = 1 To sch_VERT
    For Each FILE In MASSIV
        If Dir(FILE) = OLD_NAME(II, 1) And Dir(FILE) <> Im_Main Then
           FileCopy FILE, Application.ActiveWorkbook.Path + "\OUT\" + NEW_NAME(II, 1)
           Cells(II + 1, 3).Value = "íàéäåí"
        End If
    Next
Next 'ii
MsgBox "ГОТОВО"
End If
Application.ScreenUpdating = 1
Application.DisplayAlerts = 1
End Sub
Спасибо!
Изменено: utoFlowers - 21.03.2019 21:47:53
Страницы: 1
Наверх