Hoppa till huvudinnehåll

Hur byter man namn på alla bildfiler i en mapp enligt en lista med celler i Excel?

Författare: Sun Senast ändrad: 2024-12-05

Har du någonsin behövt byta namn på flera bilder i en mapp baserat på en lista med namn i ett Excel-ark? Att byta namn på dem en efter en kan vara tidskrävande, men med hjälp av VBA-koder kan du snabbt automatisera processen.

Byt namn på alla bildfiler i en mapp


Byt namn på alla bildfiler i en mapp

För att byta namn på alla bildfiler i en angiven mapp, följ dessa steg:

Steg 1: Importera de ursprungliga filnamnen från mappen till ett ark i Excel

1. Tryck Alt + F11 för att aktivera Microsoft Visual Basic för applikationer fönster.

2. klick Insert > Modulerna och klistra in koden nedan i skriptet.

VBA: Hämta bildnamn från en mapp

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. Tryck F5 för att köra koden, och en dialogruta dyker upp för att påminna dig om att välja en cell för att mata ut namnlistan. Se skärmdump:
En skärmdump av dialogrutan för att välja en cell för utmatning av bildnamnslistan i Excel

4. klick OK och välj den angivna mappen vars bildnamn du behöver lista i det aktuella kalkylbladet. Se skärmdump:
En skärmdump som visar dialogrutan för val av mapp för att lista bildnamn i Excel

5. klick OK. Bildnamnen har listats på det aktiva arket.

Steg 2: Byt namn på bildfilerna baserat på en ny namnlista

1. Tryck Alt + F11 för att aktivera Microsoft Visual Basic för applikationer fönster.

2. klick Insert > Modulerna och klistra in under koden i skriptet.

VBA: Byt namn på bildfiler i en mapp

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. Tryck F5 för att köra koden, och en dialogruta dyker upp för att påminna dig om att välja de ursprungliga bildnamnen du vill ersätta. Se skärmdump:
En skärmdump av dialogrutan för att välja originalbildnamn i Excel för att döpa om

4. klick OKoch välj de nya namnen du vill ersätta bildnamnen i den andra dialogen. Se skärmdump:
En skärmdump som visar dialogrutan för att välja nya namn för att ersätta bildnamn i Excel.

5. klick OK, dyker en dialog upp för att påminna dig om att bildnamnen har bytts ut.
En skärmdump av framgångsmeddelandet efter att ha bytt namn på bilder i Excel

6. Klicka på OK, så kommer bildnamnen i mappen att ersättas med de nya namnen från cellerna i arket.

En skärmdump som visar de ursprungliga bildnamnen innan de byter namn i mappen
Pil ner
En skärmdump som visar de omdöpta bildnamnen i mappen

Relaterade artiklar:

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!