¿Cómo cambiar el nombre de todos los archivos de imagen en una carpeta según una lista de celdas en Excel?
¿Alguna vez has necesitado cambiar el nombre de varias imágenes en una carpeta basándote en una lista de nombres en una hoja de Excel? Cambiarles el nombre una por una puede ser muy laborioso, pero con la ayuda de códigos VBA, puedes automatizar rápidamente este proceso.
Cambiar el nombre de todos los archivos de imagen en una carpeta
Cambiar el nombre de todos los archivos de imagen en una carpeta
Para cambiar el nombre de todos los archivos de imagen en una carpeta específica, sigue estos pasos:
Paso 1: Importa los nombres de archivo originales desde la carpeta a una hoja en Excel
1. Presiona las teclas "Alt + F11" para habilitar la ventana "Microsoft Visual Basic para Aplicaciones".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en el script.
VBA: Recuperar nombres de imágenes desde una carpeta
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. Presiona la tecla "F5" para ejecutar el código, y aparecerá un cuadro de diálogo que te recordará seleccionar una celda para mostrar la lista de nombres. Ver captura de pantalla:
4. Haz clic en "Aceptar" y selecciona la carpeta específica cuyos nombres de imágenes necesitas listar en la hoja de trabajo actual. Ver captura de pantalla:
5. Haz clic en "Aceptar". Los nombres de las imágenes se han listado en la hoja activa.
Paso 2: Cambia el nombre de los archivos de imagen basados en una nueva lista de nombres
1. Presiona las teclas "Alt + F11" para habilitar la ventana "Microsoft Visual Basic para Aplicaciones".
2. Haz clic en "Insertar" > "Módulo" y pega el siguiente código en el script.
VBA: Cambiar el nombre de los archivos de imagen en una carpeta
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. Presiona la tecla "F5" para ejecutar el código, y aparecerá un cuadro de diálogo que te recordará seleccionar los nombres de las imágenes originales que deseas reemplazar. Ver captura de pantalla:
4. Haz clic en "Aceptar", y selecciona los nuevos nombres con los que deseas reemplazar los nombres de las imágenes en el segundo cuadro de diálogo. Ver captura de pantalla:
5. Haz clic en "Aceptar", aparecerá un cuadro de diálogo que te informará que los nombres de las imágenes se han cambiado correctamente.
6. Haz clic en "Aceptar", y los nombres de las imágenes en la carpeta se reemplazarán con los nuevos nombres de las celdas en la hoja.
![]() |
![]() |
![]() |
Artículos relacionados:
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!