Но вот пост Hugo №24 мне не понятен где это меняется в файлах прикрепленных ТеперьНеАноним в посте №23. Мне нужно jpg переименовать. Покажите где что нужно поменять.
В той теме нужно было 1 заменить на 2. Т.е. цикл перебора строк начинать со второй строки. У Вас аналогично - или убрать шапку (если она есть), или подправить цикл.
Юрий М пишет: И к незнакомым людям следует обращаться на ВЫ.
Hugo мне по-дружески отвечает, я и к нему по-простому обращаюсь) А код видимо этот:
Код
Option Explicit
Sub ПереименоватьГруппуФайлов()
Dim OldName As String, NewName As String, sPath As String
Dim i As Long, lLastRow As Long
sPath = "C:\1\"
lLastRow = Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To lLastRow
OldName = sPath & Cells(i, 1) & ".jpg" 'старое имя в ячейке
NewName = sPath & Cells(i, 2) & ".jpg" 'новое имя
Name OldName As NewName
Next i
End Sub
Private Sub CommandButton1_Click()
Dim OldName As String, NewName As String, sPath As String
Dim i As Long, lLastRow As Long
sPath = "C:\1\"
lLastRow = Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To lLastRow
OldName = sPath & Cells(i, 1) & ".jpg" 'старое имя в ячейке
NewName = sPath & Cells(i, 2) & ".jpg" 'новое имя
Name OldName As NewName
Next i
End Sub
Ну код ладно, и так видно что ошибок нет. Файлы где, какие, в каком каталоге? Что на листе? В каком листе данные? В каком листе код? Видно что код в листе с кодовым именем Лист2, но этого мало. Да мало ли что Вы там натворили...
И что не работает? Поместите туда файлы 1.jpg, 2.jpg и запустите код. (Вот уж такой ошибки не ожидал ) И действительно - зачем там два аналогичных кода? Достаточно или одного на кнопке, или одного, который вызывать кнопкой как выше объяснялось.
Добрый день! Отличная тема, спасибо! Из нее и давно используемого мной макроса, взятого тут, собрал комплексный. Вызов макроса после загрузки - сочетанием Cntrl + Alt + S. В первой вкладке выводятся файлы из выбраной папки. Затем можно вручную, либо средствами функции ВПР сопоставить полученным имеющимся именам новые, в столбце D. Далее на второй вкладке программы вводите расширение новых фалов (без точки), и стартуете. Времени было немного, не вставил в код никаких проверок (типа если такой файл уже есть..) - так что будьте внимательней.
Отличный макрос!!! Спасибо!! Вот только пришлось посидеть разобраться. У меня тоже на 53 строке ошибка выскакивает. Это происходит из-за того, что процедура CommandButton2_Click() не видит путь к папке sPath и ПутьКПапке$ что-то не то с ними не могу понять до конца. Если прописать вручную путь к папке в коде,
Код
Private Sub CommandButton2_Click()
Dim OldName As String, NewName As String, sPath As String, NewExist As String
Dim i As Long, lLastRow As Long
If MsgBox("Начать?", vbOKCancel Or vbQuestion) = vbOK Then
NewExist = ExistFiles.Value
lLastRow = Cells(Rows.Count, 2).End(xlUp).Row
For i = 11 To lLastRow
sPath = "c:\1\"
ПутьКПапке$ = sPath
OldName = ПутьКПапке$ & Cells(i, 2) '
NewName = ПутьКПапке$ & Cells(i, 4) & "." & NewExist '
Name OldName As NewName '
Next i
Else
Exit Sub
End If
End Sub
то все работает на ура. Но вот хочется, чтобы путь прописывался тот, который указывали при выборе папки. Подскажите, что там дописать нужно? Спасибо.