Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

Как переименовать все имена изображений в папке в соответствии со списком ячеек в Excel?

Вы когда-нибудь пытались переименовать изображения в соответствии со списком ячеек в листе? Если да, есть ли у вас какие-либо уловки, чтобы быстро справиться с заданием, не переименовывая их один за другим? В этой статье я представляю два кода VBA, чтобы быстро справиться с этим заданием в Excel.

Переименовать все имена изображений в папке


Список имен файлов

Вы когда-нибудь сталкивались с проблемой, чтобы перечислить всю информацию о файлах из папки на листе? Здесь Список имен файлов of Форум Kutools Excel может отображать всю информацию о файлах, включая имя файла, путь к файлу, размер файла и т. д. из папки на листе, а также вы можете указать стиль файла, который вы хотите перечислить из папки.
Список имен файлов doc

Переименовать все имена изображений в папке


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

1. Нажмите Alt + F11 для включения Microsoft Visual Basic для приложений окна.

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, ".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 чтобы запустить код, и появится диалоговое окно, чтобы напомнить вам выбрать ячейку для вывода списка имен. Смотрите скриншот:
doc переименуйте картинку в папку 1

4. Нажмите OK и выбрать указанную папку, имена картинок которой необходимо перечислить на текущем листе. Смотрите скриншот:
doc переименуйте картинку в папку 2

5. Нажмите OK, Названия изображений были указаны на активном листе.

Затем вы можете переименовать изображения.

1. Нажмите Alt + F11 для включения Microsoft Visual Basic для приложений окна.

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 чтобы запустить код, и появится диалоговое окно, чтобы напомнить вам, чтобы выбрать оригинальные имена картинок, которые вы хотите заменить. Смотрите скриншот:
doc переименуйте картинку в папку 3

4. Нажмите OK, и выберите новые имена, которые вы хотите заменить именами изображений во втором диалоговом окне. Смотрите скриншот:
doc переименуйте картинку в папку 4

5. Нажмите OK, появится диалоговое окно, напоминающее вам о том, что имена изображений были успешно заменены.
doc переименуйте картинку в папку 5

6. Нажмите «ОК», и имена изображений будут заменены ячейками на листе.

doc переименуйте картинку в папку 6
doc arrow down
doc переименуйте картинку в папку 7

Относительные статьи:


  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905
  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sam Jones · 1 years ago
    Hi, i've tried using this however running the 'PictureNametoExcel' macro only returns the first photo file path name. The other photos in the folder wont be listed. Any help would be greatly appreciated.

    Side note: I've tested the 'RenameFile' Macro and that works perfectly

    Thanks
    Sam