¿Cómo cambiar el nombre de todos los nombres de imágenes en una carpeta de acuerdo con una lista de celdas en Excel?
¿Alguna vez ha intentado cambiar el nombre de las imágenes de acuerdo con una lista de celdas en la hoja? Si es así, ¿tiene algún truco para manejar rápidamente el trabajo sin cambiarles el nombre uno por uno? En este artículo, presento dos códigos VBA para manejar rápidamente este trabajo en Excel.
Cambiar el nombre de todas las imágenes de una carpeta
Cambiar el nombre de todas las imágenes de una carpeta
Para cambiar el nombre de todos los nombres de las imágenes en una carpeta específica, primero debe enumerar los nombres originales en la hoja.
1. Prensa Alt + F11 claves para habilitar el Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic en recuadro > Módulo y pegue el siguiente código en el script.
VBA: obtén nombres de imágenes de 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. Prensa F5 para ejecutar el código, y aparece un cuadro de diálogo para recordarle que seleccione una celda para generar la lista de nombres. Ver captura de pantalla:
4. Hacer clic en OK y para seleccionar la carpeta especificada cuyos nombres de imagen necesita enumerar en la hoja de trabajo actual. Ver captura de pantalla:
5. Hacer clic en OK. Los nombres de las imágenes se enumeran en la hoja activa.
Luego, puede cambiar el nombre de las imágenes.
1. Prensa Alt + F11 claves para habilitar el Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic en recuadro > Módulo y pegue el siguiente código en el script.
VBA: Obtener imágenes de cambio de nombre
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. Prensa F5 para ejecutar el código, y aparece un cuadro de diálogo para recordarle que seleccione los nombres de las imágenes originales que desea reemplazar. Ver captura de pantalla:
4. Hacer clic en OKy seleccione los nuevos nombres que desea reemplazar los nombres de las imágenes en el segundo cuadro de diálogo. Ver captura de pantalla:
5. Hacer clic en OK, aparece un cuadro de diálogo para recordarle que los nombres de las imágenes se han reemplazado correctamente.
6. Haga clic en Aceptar y los nombres de las imágenes se reemplazarán por las celdas de la hoja.
Artículos relativos:
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!