Как переименовать все изображения в папке в соответствии со списком ячеек в Excel?
Вы когда-нибудь пробовали переименовывать изображения в соответствии со списком ячеек на листе? Если да, есть ли у вас какие-нибудь уловки, чтобы быстро справиться с работой, не переименовывая их по очереди? В этой статье я представлю два кода VBA, чтобы быстро справиться с этой задачей в Excel.
Переименовать имена всех изображений в папке
Переименовать имена всех изображений в папке
Чтобы переименовать все имена изображений в указанной папке, вы должны сначала указать исходные имена на листе.
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, ".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. Имена изображений перечислены на активном листе.
Затем вы можете переименовать картинки.
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 нажмите клавишу, чтобы запустить код, и появится диалоговое окно, напоминающее вам о выборе исходных имен изображений, которые вы хотите заменить. Смотрите скриншот:
4. Нажмите OKи выберите новые имена, которые вы хотите заменить именами изображений, во втором диалоговом окне. Смотрите скриншот:
5. Нажмите OK, появится диалоговое окно, напоминающее вам, что имена изображений были успешно заменены.
6. Нажмите OK, и имена изображений будут заменены ячейками на листе.
Относительные статьи:
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!