Note: The other languages of the website are Google-translated. Back to English
Iniciar  \/ 
x
or
x
Registrarse  \/ 
x

or

¿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 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, ".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:
doc cambiar el nombre de la imagen en una carpeta 1

4. Hacer clic OK y para seleccionar la carpeta especificada cuyos nombres de imagen necesita enumerar en la hoja de trabajo actual. Ver captura de pantalla:
doc cambiar el nombre de la imagen en una carpeta 2

5. Hacer clic 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 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:
doc cambiar el nombre de la imagen en una carpeta 3

4. Hacer clic 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:
doc cambiar el nombre de la imagen en una carpeta 4

5. Hacer clic OK, aparece un cuadro de diálogo para recordarle que los nombres de las imágenes se han reemplazado correctamente.
doc cambiar el nombre de la imagen en una carpeta 5

6. Haga clic en Aceptar y los nombres de las imágenes se reemplazarán por las celdas de la hoja.

doc cambiar el nombre de la imagen en una carpeta 6
doc flecha hacia abajo
doc cambiar el nombre de la imagen en una carpeta 7

Artículos relativos:


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office / Excel 2007-2019 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Características completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

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!
officetab parte inferior
Say something here...
symbols left.
You are guest
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 · 3 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
    • To post as a guest, your comment is unpublished.
      Dunmoye · 11 months ago
      Hi Sam, Select the cell range. I guess this is as a result of you selecting just one cell