Как переименовать все файлы изображений в папке в соответствии со списком из ячеек Excel?
Вам когда-нибудь нужно было переименовать несколько изображений в папке на основе Список имен в листе Excel? Переименование по одному — это трудоёмкий процесс, но с помощью кодов VBA вы можете быстро автоматизировать эту задачу.
Переименовать Все файлы изображений в папке
Переименовать Все файлы изображений в папке
Чтобы переименовать Все файлы изображений в указанной папке, выполните следующие действия:
Шаг 1: Импортируйте исходные имена файлов из папки в лист Excel
1. Нажмите «Alt + F11», чтобы открыть окно Microsoft Visual Basic for Applications.
2. Выберите «Вставка» > «Модуль» и вставьте приведённый ниже код в скрипт.
VBA: Получение имён изображений из папки
Sub PictureNametoExcel()
'UpdatebyExtendoffice201709027
Dim I As Long
Dim xRg As Range
Dim xAddress As String
Dim xFileName As String
Dim xFileDlg As FileDialog
Dim xFileDlgItem As Variant
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a cell to place name list:", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xRg = xRg(1)
xRg.Value = "Picture Name"
With xRg.Font
.Name = "Arial"
.FontStyle = "Bold"
.Size = 10
End With
xRg.EntireColumn.AutoFit
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
I = 1
If xFileDlg.Show = -1 Then
xFileDlgItem = xFileDlg.SelectedItems.Item(1)
xFileName = Dir(xFileDlgItem & "\")
Do While xFileName <> ""
If InStr(1, xFileName, ".jpg") + InStr(1, xFileName, ".png") + InStr(1, xFileName, ".img") + InStr(1, xFileName, ".gif") + InStr(1, xFileName, ".ioc") + InStr(1, xFileName, ".bmp") > 0 Then
xRg.Offset(I).Value = xFileDlgItem & "\" & xFileName
I = I + 1
End If
xFileName = Dir
Loop
End If
Application.ScreenUpdating = True
End Sub
3. Нажмите клавишу «F5», чтобы запустить код. После этого появится диалоговое окно с запросом выбрать ячейку для вывода списка имен. См. снимок экрана:
4. Нажмите «OK» и выберите папку, изображения из которой нужно вывести на текущий лист. См. снимок экрана:
5. Нажмите «OK» — имена изображений появятся на текущем листе.
Шаг 2: Переименование файлов изображений на основе нового Список имен
1. Нажмите «Alt + F11», чтобы открыть окно Microsoft Visual Basic for Applications.
2. Выберите «Вставка» > «Модуль» и вставьте приведённый ниже код в скрипт.
VBA: Переименование файлов изображений в папке
Sub RenameFile()
'UpdatebyExtendoffice20170927
Dim I As Long
Dim xLastRow As Long
Dim xAddress As String
Dim xRgS, xRgD As Range
Dim xNumLeft, xNumRight As Long
Dim xOldName, xNewName As String
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRgS = Application.InputBox("Select Original Names(Single Column):", "KuTools For Excel", xAddress, , , , , 8)
If xRgS Is Nothing Then Exit Sub
Set xRgD = Application.InputBox("Select New Names(Single Column):", "KuTools For Excel", , , , , , 8)
If xRgD Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xLastRow = xRgS.Rows.Count
Set xRgS = xRgS(1)
Set xRgD = xRgD(1)
For I = 1 To xLastRow
xOldName = xRgS.Offset(I - 1).Value
xNumLeft = InStrRev(xOldName, "\")
xNumRight = InStrRev(xOldName, ".")
xNewName = xRgD.Offset(I - 1).Value
If xNewName <> "" Then
xNewName = Left(xOldName, xNumLeft) & xNewName & Mid(xOldName, xNumRight)
Name xOldName As xNewName
End If
Next
MsgBox "Congratulations! You have successfully renamed all the files", vbInformation, "KuTools For Excel"
Application.ScreenUpdating = True
End Sub 3. Нажмите клавишу «F5», чтобы запустить код. После этого появится диалоговое окно с запросом выбрать исходные имена изображений для замены. См. снимок экрана:
4. Нажмите «OK» и во втором диалоговом окне выберите новое имя, на основе которого будут заменяться имена изображений. См. снимок экрана:
5. Нажмите «OK» — появится диалоговое окно с уведомлением об успешной замене имён изображений.
6. Нажмите «OK», и имена изображений в папке заменятся на новые имена из ячеек листа.
![]() |
![]() |
![]() |
Связанные статьи:
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек


